日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

php 不等于 的函数吗,PHP不常见的函数整理

發(fā)布時(shí)間:2024/1/23 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 不等于 的函数吗,PHP不常见的函数整理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

下面為大家?guī)硪黄?PHP不常見的函數(shù)整理。下面就為你詳細(xì)講解一下,希望對(duì)您的學(xué)習(xí)PHP有所幫助。

sys_getloadavg()

這個(gè)函數(shù)返回當(dāng)前系統(tǒng)的負(fù)載均值信息(當(dāng)然 Windows 下不適用),詳細(xì)文檔可以翻閱 PHP 的相關(guān)文檔。文檔中有段示例代碼,基本上也就能看出它的用途了。

$load = sys_getloadavg();

if ($load[0] > 80) {

header('HTTP/1.1 503 Too busy, try again later');

die('Server too busy. Please try again later.');

}

PS,如果“很不幸”得你的 PHP 環(huán)境中沒有這個(gè)函數(shù),可以考慮使用下面這段代碼 via

if (!function_exists('sys_getloadavg')) {

function sys_getloadavg()

{

$loadavg_file = '/proc/loadavg';

if (file_exists($loadavg_file)) {

return explode(chr(32),file_get_contents($loadavg_file));

}

return array(0,0,0);

}

}

這一特性如果使用得當(dāng),能減輕服務(wù)器部分壓力。

pack()

pack 對(duì)應(yīng)的還有個(gè)函數(shù)為 unpack,用于壓縮二進(jìn)制串,文中的作者的示例非常清楚

$pass_hash = pack("H*", md5("my-password"));

如果你使用 PHP5,那么可以直接這樣子

$pass_hash = md5("my-password", true); // PHP 5+這樣做的好處之一是能減少串存儲(chǔ)空間(能節(jié)省多少呢?可能又會(huì)是另篇文章了)。

這里還有個(gè)示例代碼可以 pack 數(shù)組 via

function pack_array($v,$a) {

return call_user_func_array(pack,array_merge(array($v),(array)$a));

}

cal_days_in_month()

該函數(shù)可以直接返回指定月份中的天數(shù),例如

$days = cal_days_in_month(CAL_GREGORIAN, date("m"), date("Y")); // 31我敢保證,你自己實(shí)現(xiàn)過類似功能的函數(shù) :^)

_()

呃,這的確也是個(gè) PHP 函數(shù)(也有可能是最短的 PHP 內(nèi)置函數(shù))。_() 是它的“小名”,它的大名是 gettext()。

寫過 Wordpress 皮膚的朋友會(huì)了解 __() 以及 _e() 這些函數(shù),其實(shí) PHP 早已經(jīng)自帶了相關(guān)的功能。

// Set language to German

setlocale(LC_ALL, 'de_DE');

// Specify location of translation tables

bindtextdomain("myPHPApp", "./locale");

// Choose domain

textdomain("myPHPApp");

echo _("Have a nice day");

利用 gettext 可以編寫多語言的應(yīng)用,現(xiàn)在您感興趣的可能就是如何編寫 locale 文件,這但已經(jīng)不是此文涉及的重點(diǎn),更多信息可以移步到這里。

get_browser()

坦白講,見到這個(gè)函數(shù)我當(dāng)時(shí)就徹底淚奔。有了這個(gè)函數(shù),再也不用自己去分析 $_SERVER['HTTP_USER_AGENT'] 這個(gè)字符串了。

更多的信息可以參考這里。在使用此函數(shù)前,你可能需要個(gè) browscap.ini 配置文件,相信你可以搞定的。

debug_print_backtrace()

以前查看函數(shù)調(diào)用堆棧,我會(huì)使用 xdebug 等的擴(kuò)展,其實(shí) PHP5 版本以后已經(jīng)內(nèi)置了相關(guān)的函數(shù)。

順便再分享個(gè)“蛋疼”的小技巧,如果你記不住這個(gè)函數(shù)的名字,可以用這段代碼同樣能達(dá)到目的(看起來還是記住那個(gè)函數(shù)靠譜):

$e = new Exception();

print_r(str_replace('/path/to/code/', '', $e->getTraceAsString()));natsort()

這個(gè)函數(shù)用于自然排序,這個(gè)大家可能都要用到。貼下相關(guān)的文檔鏈接以及示例代碼

$items = array("100 apples", "5 apples", "110 apples", "55 apples");

// normal sorting:

sort($items);

print_r($items);

# Outputs:

# Array

# (

# [0] => 100 apples

# [1] => 110 apples

# [2] => 5 apples

# [3] => 55 apples

# )

natsort($items);

print_r($items);

# Outputs:

# Array

# (

# [2] => 5 apples

# [3] => 55 apples

# [0] => 100 apples

# [1] => 110 apples

# )有關(guān)自然排序的算法規(guī)則,可以參考這里的文檔。

glob()

這個(gè)函數(shù)的功能同樣讓人感到淚奔,先不說功能直接上示例代碼

foreach (glob("*.php") as $file) {

echo "$file\n";

}

相比你已經(jīng)了解該函數(shù)的用途了,那么我們就可以有更多的“玩法”,例如就顯示目錄(via):

$dirs = array_filter(glob($path.'*'), 'is_dir');

當(dāng)然,文件遞歸你也可以考慮使用下 SPL 擴(kuò)展。

補(bǔ)充 by 神仙:

glob 有個(gè)參數(shù)選項(xiàng) GLOB_ONLYDIR 就可以只列目錄PHP Filter

如果你還在正則驗(yàn)證字符串,那么就真的“Out”了。自 PHP5.2 版本以后,內(nèi)置了 PHP Fliter 模塊用于專門驗(yàn)證 電子郵件、URL 等是否合法,示例代碼:

var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));

由于是新生的模塊,因此還有很多的陷阱,例如

filter_var('abc', FILTER_VALIDATE_BOOLEAN); // bool(false)

filter_var('0', FILTER_VALIDATE_BOOLEAN); // bool(false)

但這不影響我們?nèi)L試。有關(guān) PHP Filter 的更多信息,相信能拎出來另外寫篇文章了。

-- Split --

最后,感嘆 PHP 其實(shí)是個(gè)歷久彌新的工具,不小心我們就會(huì)悲劇性得重復(fù)造了只輪子。因此,時(shí)常看看 PHP 文檔每次都會(huì)有新的收獲。

以上就是關(guān)于 PHP不常見的函數(shù)整理 的內(nèi)容,希望已經(jīng)解決你的問題。

延伸閱讀:

·PHP實(shí)用的21個(gè)函數(shù)代碼片段

·PHP十個(gè)有用的函數(shù)

·php函數(shù)preg_replace使用c#重寫

·PHP函數(shù)file_get_contents(打開URL獲得網(wǎng)頁內(nèi)容)簡單用法

·淺析PHP函數(shù)mysql_affected_rows()與mysql_num_rows()分別

·PHP函數(shù)isset與array_key_exists的區(qū)別

·php函數(shù)serialize()與unserialize()說明及案例

·php函數(shù)str_replace中的單引號(hào)和雙引號(hào)的區(qū)別

·php函數(shù)session_id()使用介紹

·php函數(shù)is_null、empty、isset的區(qū)別

·PHP函數(shù)exec和shell_exec分別

·php函數(shù)serialize()與unserialize()示例

·PHP函數(shù)gzcompress、gzdeflate、gzencode使用示例

·PHP函數(shù)addslashes和mysql_real_escape_string二者介紹

·php函數(shù)參數(shù)中設(shè)置和使用默認(rèn)值示例

總結(jié)

以上是生活随笔為你收集整理的php 不等于 的函数吗,PHP不常见的函数整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。