PHP常用函數(shù)

  • 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ù)組压状。
  • class_exists() 檢查類是否已定義
檢查類是否已定義
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堪藐。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市挑围,隨后出現(xiàn)的幾起案子礁竞,更是在濱河造成了極大的恐慌,老刑警劉巖杉辙,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件模捂,死亡現(xiàn)場離奇詭異,居然都是意外死亡蜘矢,警方通過查閱死者的電腦和手機(jī)狂男,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來品腹,“玉大人岖食,你說我怎么就攤上這事∥杩裕” “怎么了泡垃?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長羡鸥。 經(jīng)常有香客問我蔑穴,道長,這世上最難降的妖魔是什么惧浴? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任存和,我火速辦了婚禮,結(jié)果婚禮上衷旅,老公的妹妹穿的比我還像新娘捐腿。我一直安慰自己,他們只是感情好柿顶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布茄袖。 她就那樣靜靜地躺著,像睡著了一般九串。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寺鸥,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天猪钮,我揣著相機(jī)與錄音,去河邊找鬼胆建。 笑死烤低,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的笆载。 我是一名探鬼主播扑馁,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼涯呻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了腻要?” 一聲冷哼從身側(cè)響起复罐,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎雄家,沒想到半個月后效诅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡趟济,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年乱投,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顷编。...
    茶點(diǎn)故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡戚炫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出媳纬,到底是詐尸還是另有隱情双肤,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布层宫,位于F島的核電站杨伙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏萌腿。R本人自食惡果不足惜限匣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望毁菱。 院中可真熱鬧,春花似錦贮庞、人聲如沸峦筒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽物喷。三九已至,卻和暖如春遮斥,著一層夾襖步出監(jiān)牢的瞬間峦失,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工术吗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尉辑,地道東北人。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓较屿,卻偏偏與公主長得像隧魄,于是被迫代替她去往敵國和親卓练。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容