- assert($a) 检查$a是否为false,是返回true
var_dump(assert(1>2));
//bool(true)
$ip = getenv('REMOTE_ADDR');
$ip = $_SERVER['REMOTE_ADDR'];
$ip = $_ENV['REMOTE_ADDR'];
- php_uname($mode) 返回运行PHP的系统的有关信息
$model 定义要返回什么信息:
'a' 默认,包含's n r v m'中所有模式
's' 操作系统名称
'n' 主机名
'r' 版本名称
'v' 版本信息
'm' 机器类型
- hexdec($str) 十六进制转换为十进制
- dechex($n) 十进制转换为十六进制
- str_pad($str1,$n,$str2 = '') 使用$str2填充$str1到长度n
- array_multisort() 对多个数组或多维数组进行排序
$arr = array(
array(
'id' => 1,
'name' => '张三',
'age' => 25,
),
array(
'id' => 9,
'name' => '李四',
'age' => 23,
),
array(
'id' => 7,
'name' => '王五',
'age' => 40,
)
)
/**
* @param $arr 要排序的数组
* @param $field 按照哪个字段排序
* @param string $direction 排序顺序标志 SORT_DESC 降序;SORT_ASC 升序
* @return array
*/
public function arrSort($arr,$field,$direction = 'SORT_DESC')
{
$sortArr= array();
foreach($arr as $key => $value){
foreach($value as $k=>$val){
$sortArr[$k][$key] = $val;
}
}
if($direction){
array_multisort($sortArr[$field], constant($direction), $arr);
}
return $arr;
}
$arr = arrSort($arr,'id');
- constant($str) 通过 $str 返回常量的值
当你不知道常量名,却需要获取常量的值时,constant() 就很有用了。
也就是常量名储存在一个变量里,或者由函数返回常量名。
- dirname() 返回路径中的目录部分
- basename() 返回路径中的文件名部分
- pathinfo() 返回文件路径的信息数组
- realpath() 返回绝对路径名
- chdir($dir) 将PHP当前目录改为$dir
- getcwd() 取得当前工作目录
- explode() 使用一个字符串分割另一个字符串,返回一个数组
array explode ( string $delimiter , string $string [, int $limit ] )
参数:
delimiter 边界上的分隔字符。
string 输入的字符串。
limit
如果 limit 参数是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。
如果 limit 是 0,则会被当做 1。
返回值:
如果delimiter为空字符串(""),explode()将返回FALSE。
如果delimiter所包含的值在string中找不到,并且使用了负数的limit, 那么会返回空的 array, 否则返回包含string单个元素的数组。
检查类是否已定义
bool class_exists (string $class_name [, bool $autoload = true] )
参数:
class_name 类名
autoload 是否默认调用__autoload方法(自动加载)
返回值:
如果$class_name类已定义,返回true,否则返回false
当检查的类处于其他文件时,并且当前文件中有__autoload方法,注意第二个参数
如:
——————————————————————————————————————————————————
Test类存于./Test.php文件中
<?php
class Test{
public function __construct()
{
echo 222;
}
}
——————————————————————————————————————————————————
在./index.php文件中
<?php
function __autoload($className)
{
echo 111;
require_once('./' . $className . '.php');
}
$a = class_exists('Test',false);
var_dump($a);
$b = class_exists('Test');
var_dump($b);
——————————————————————————————————————————————————
执行index.php文件
bool(false)
111bool(true)
- spl_autoload_register 注册给定的函数作为 __autoload 的实现
将函数注册到SPL __autoload函数队列中。如果该队列中的函数尚未激活,则激活它们。
如果在你的程序中已经实现__autoload()函数,它必须显式注册到__autoload()队列中。因为 spl_autoload_register()函数会将Zend Engine中的__autoload()函数取代为spl_autoload()或spl_autoload_call()。
如果需要多条 autoload 函数,spl_autoload_register()满足了此类需求。 它实际上创建了 autoload 函数的队列,按定义时的顺序逐个执行。
相比之下, __autoload()只可以定义一次。
——————————————————————————————————————————————————
bool spl_autoload_register([callable $autoload_function [,bool $throw=true [,bool $prepend=false ]]] )
参数:
autoload_function
欲注册的自动装载函数。如果没有提供任何参数,则自动注册 autoload 的默认实现函数spl_autoload()。
throw
autoload_function无法成功注册时, spl_autoload_register()是否抛出异常。
prepend
如果是 true,spl_autoload_register()会添加函数到队列之首,而不是队列尾部。
返回值:
成功时返回 TRUE, 或者在失败时返回 FALSE。