PHP常用函数

2017-02-24  本文已影响0人  iscona
var_dump(assert(1>2));
//bool(true)
$ip = getenv('REMOTE_ADDR');
$ip = $_SERVER['REMOTE_ADDR'];
$ip = $_ENV['REMOTE_ADDR'];
$model 定义要返回什么信息:
'a'  默认,包含's  n  r  v  m'中所有模式
's'  操作系统名称
'n'  主机名
'r'  版本名称
'v'  版本信息
'm'  机器类型
$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() 就很有用了。
也就是常量名储存在一个变量里,或者由函数返回常量名。
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函数队列中。如果该队列中的函数尚未激活,则激活它们。 
如果在你的程序中已经实现__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。
上一篇 下一篇

猜你喜欢

热点阅读