您好,欢迎访问一九零五行业门户网

一些被忽视的PHP函数(简单整理)_PHP教程

sys_getloadavg()
这个函数返回当前系统的负载均值信息(当然 windows 下不适用),详细文档可以翻阅 php 的相关文档。文档中有段示例代码,基本上也就能看出它的用途了。
复制代码 代码如下:
80) {
header('http/1.1 503 too busy, try again later');
die('server too busy. please try again later.');
}
ps,如果“很不幸”得你的 php 环境中没有这个函数,可以考虑使用下面这段代码 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);
}
}
这一特性如果使用得当,能减轻服务器部分压力。
pack()
pack 对应的还有个函数为 unpack,用于压缩二进制串,文中的作者的示例非常清楚
$pass_hash = pack(h*, md5(my-password));如果你使用 php5,那么可以直接这样子
$pass_hash = md5(my-password, true); // php 5+这样做的好处之一是能减少串存储空间(能节省多少呢?可能又会是另篇文章了)。
这里还有个示例代码可以 pack 数组 via
复制代码 代码如下:
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
# )有关自然排序的算法规则,可以参考这里的文档。
glob()
这个函数的功能同样让人感到泪奔,先不说功能直接上示例代码
复制代码 代码如下:
foreach (glob(*.php) as $file) {
echo $file\n;
}
相比你已经了解该函数的用途了,那么我们就可以有更多的“玩法”,例如就显示目录(via):
$dirs = array_filter(glob($path.'*'), 'is_dir');当然,文件递归你也可以考虑使用下 spl 扩展。
补充 by 神仙:
glob 有个参数选项 glob_onlydir 就可以只列目录php filter
如果你还在正则验证字符串,那么就真的“out”了。自 php5.2 版本以后,内置了 php fliter 模块用于专门验证 电子邮件、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)但这不影响我们去尝试。有关 php filter 的更多信息,相信能拎出来另外写篇文章了。
-- split --
最后,感叹 php 其实是个历久弥新的工具,不小心我们就会悲剧性得重复造了只轮子。因此,时常看看 php 文档每次都会有新的收获。
http://www.bkjia.com/phpjc/321649.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/321649.htmltecharticlesys_getloadavg() 这个函数返回当前系统的负载均值信息(当然 windows 下不适用),详细文档可以翻阅 php 的相关文档。文档中有段示例代码,基...
其它类似信息

推荐信息