- assert($a) 檢查$a是否為false,是返回true
var_dump(assert(1>2));
//bool(true)
- getenv($str) 獲取一個環(huán)境變量的值
$ip = getenv('REMOTE_ADDR');
$ip = $_SERVER['REMOTE_ADDR'];
$ip = $_ENV['REMOTE_ADDR'];
- php_uname($mode) 返回運(yùn)行PHP的系統(tǒng)的有關(guān)信息
$model 定義要返回什么信息:
'a' 默認(rèn)溯街,包含's n r v m'中所有模式
's' 操作系統(tǒng)名稱
'n' 主機(jī)名
'r' 版本名稱
'v' 版本信息
'm' 機(jī)器類型
- hexdec($str) 十六進(jìn)制轉(zhuǎn)換為十進(jìn)制
- dechex($n) 十進(jìn)制轉(zhuǎn)換為十六進(jìn)制
- str_pad($str1,$n,$str2 = '') 使用$str2填充$str1到長度n
- array_multisort() 對多個數(shù)組或多維數(shù)組進(jìn)行排序
$arr = array(
array(
'id' => 1,
'name' => '張三',
'age' => 25,
),
array(
'id' => 9,
'name' => '李四',
'age' => 23,
),
array(
'id' => 7,
'name' => '王五',
'age' => 40,
)
)
/**
* @param $arr 要排序的數(shù)組
* @param $field 按照哪個字段排序
* @param string $direction 排序順序標(biāo)志 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 返回常量的值
當(dāng)你不知道常量名摘能,卻需要獲取常量的值時,constant() 就很有用了。
也就是常量名儲存在一個變量里江醇,或者由函數(shù)返回常量名佛寿。
- dirname() 返回路徑中的目錄部分
- basename() 返回路徑中的文件名部分
- pathinfo() 返回文件路徑的信息數(shù)組
- realpath() 返回絕對路徑名
- chdir($dir) 將PHP當(dāng)前目錄改為$dir
- getcwd() 取得當(dāng)前工作目錄
- explode() 使用一個字符串分割另一個字符串幌墓,返回一個數(shù)組
array explode ( string $delimiter , string $string [, int $limit ] )
參數(shù):
delimiter 邊界上的分隔字符。
string 輸入的字符串。
limit
如果 limit 參數(shù)是正數(shù)常侣,則返回的數(shù)組包含最多 limit 個元素蜡饵,而最后那個元素將包含 string 的剩余部分。
如果 limit 參數(shù)是負(fù)數(shù)胳施,則返回除了最后的 -limit 個元素外的所有元素溯祸。
如果 limit 是 0,則會被當(dāng)做 1舞肆。
返回值:
如果delimiter為空字符串("")焦辅,explode()將返回FALSE。
如果delimiter所包含的值在string中找不到胆绊,并且使用了負(fù)數(shù)的limit氨鹏, 那么會返回空的 array, 否則返回包含string單個元素的數(shù)組压状。
檢查類是否已定義
bool class_exists (string $class_name [, bool $autoload = true] )
參數(shù):
class_name 類名
autoload 是否默認(rèn)調(diào)用__autoload方法(自動加載)
返回值:
如果$class_name類已定義仆抵,返回true,否則返回false
當(dāng)檢查的類處于其他文件時种冬,并且當(dāng)前文件中有__autoload方法镣丑,注意第二個參數(shù)
如:
——————————————————————————————————————————————————
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);
——————————————————————————————————————————————————
執(zhí)行index.php文件
bool(false)
111bool(true)
- spl_autoload_register 注冊給定的函數(shù)作為 __autoload 的實(shí)現(xiàn)
將函數(shù)注冊到SPL __autoload函數(shù)隊列中。如果該隊列中的函數(shù)尚未激活娱两,則激活它們莺匠。
如果在你的程序中已經(jīng)實(shí)現(xiàn)__autoload()函數(shù),它必須顯式注冊到__autoload()隊列中十兢。因?yàn)?spl_autoload_register()函數(shù)會將Zend Engine中的__autoload()函數(shù)取代為spl_autoload()或spl_autoload_call()趣竣。
如果需要多條 autoload 函數(shù),spl_autoload_register()滿足了此類需求旱物。 它實(shí)際上創(chuàng)建了 autoload 函數(shù)的隊列遥缕,按定義時的順序逐個執(zhí)行。
相比之下宵呛, __autoload()只可以定義一次单匣。
——————————————————————————————————————————————————
bool spl_autoload_register([callable $autoload_function [,bool $throw=true [,bool $prepend=false ]]] )
參數(shù):
autoload_function
欲注冊的自動裝載函數(shù)。如果沒有提供任何參數(shù)宝穗,則自動注冊 autoload 的默認(rèn)實(shí)現(xiàn)函數(shù)spl_autoload()户秤。
throw
autoload_function無法成功注冊時, spl_autoload_register()是否拋出異常逮矛。
prepend
如果是 true鸡号,spl_autoload_register()會添加函數(shù)到隊列之首,而不是隊列尾部须鼎。
返回值:
成功時返回 TRUE膜蠢, 或者在失敗時返回 FALSE堪藐。