设为首页 收藏本站
查看: 678|回复: 0

[经验分享] PHP:10个不常见却非常有用的PHP函数

[复制链接]

尚未签到

发表于 2017-3-31 09:29:57 | 显示全部楼层 |阅读模式
1. sys_getloadavg()
  sys_getloadavt()可以获得系统负载情况。该函数返回一个包含三个元素的数组,每个元素分别代表系统再过去的1、5和15分钟内的平均负载。
  与其让服务器因负载过高而宕掉,不如在系统负载很高时主动die掉一个脚本,sys_getloadavg()就是用来帮你实现这个功能的。 不过很遗憾,该函数在windows下无效。
  2. pack()
  Pack()能将md5()返回的32位16进制字符串转换为16位的二进制字符串,可以节省存储空间。
  3. cal_days_in_month()
  cal_days_in_month()能够返回指定月份共有多少天。
  4. _()
  WordPress开发者经常能见到这个函数,还有_e()。这两个函数功能相同,与gettext()函数结合使用,能实现网站的多语言化。具体可参见PHP手册的相关部分介绍。
    5. get_browser()
  在发送页面前先看看用户的浏览器都能做些什么是不是挺好?get_browser()能获得用户的浏览器类型,以及浏览器支持的功能,不过首先你需要一个php_browscap.ini文件,用来给函数做参考文件。
  要注意,该函数对浏览器功能的判断是基于该类浏览器的一般特性的。例如,如果用户关闭了浏览器对JavaScript的支持,函数无法得知这一点。但是在判断浏览器类型和OS平台方面,该函数还是很准确的。
  6. debug_print_backtrace()
  这是一个调试用的函数,能帮助你发现代码中的逻辑错误。要理解这个函数,还是直接看个例子吧:
     
$a = 0;     
function iterate() {     
global $a;     
if( $a < 10 )     
recur();     
echo $a . “, “;     
}     
function recur() {     
global $a;     
$a++;     
// how did I get here?     
echo “\n\n\n”;     
debug_print_backtrace();     
if( $a < 10 )     
iterate();     
}     
iterate();     
# OUTPUT:     
#0 recur() called at [C:\htdocs\php_stuff\index.php:8]     
#1 iterate() called at [C:\htdocs\php_stuff\index.php:25]     
#0 recur() called at [C:\htdocs\php_stuff\index.php:8]     
#1 iterate() called at [C:\htdocs\php_stuff\index.php:21]     
#2 recur() called at [C:\htdocs\php_stuff\index.php:8]     
#3 iterate() called at [C:\htdocs\php_stuff\index.php:25]     
#0 recur() called at [C:\htdocs\php_stuff\index.php:8]     
#1 iterate() called at [C:\htdocs\php_stuff\index.php:21]     
#2 recur() called at [C:\htdocs\php_stuff\index.php:8]     
#3 iterate() called at [C:\htdocs\php_stuff\index.php:21]     
#4 recur() called at [C:\htdocs\php_stuff\index.php:8]     
#5 iterate() called at [C:\htdocs\php_stuff\index.php:25]   7. metaphone()
  这个函数返回单词的metaphone值,相同读音的单词具有相同的metaphone值,也就是说这个函数可以帮你判断两个单词的读音是否相同。不过对中文就无效了。。。
  8. natsort()
  natsort()能将一个数组以自然排序法进行排列,直接看个例子吧:
    $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      
# )
     
9. levenshtein()
  Levenshtein()告诉你两个单词之间的“距离”。它告诉你如果想把一个单词变成另一个单词,需要插入、替换和删除多少字母。
  看个例子吧:
    $dictionary = array(      
“php”, “javascript”, “css”      
);      
$word = “japhp”;      
$best_match = $dictionary[0];      
$match_value = levenshtein($dictionary[0], $word);      
foreach($dictionary as $w) {      
$value = levenshtein($word, $w);      
if( $value < $match_value ) {      
$best_match = $w;      
$match_value = $value;      
}      
}      
echo “Did you mean the ‘$best_match’ category?”;
     
10. glob()
  glob()会让你觉得用opendir(), readdir()和closedir()来寻找文件非常蠢。
    foreach (glob(“*.php”) as $file)      
echo “$file\n”;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-357946-1-1.html 上篇帖子: 查看当前的PHP FastCGI进程数是否够用 下篇帖子: php-5.3,php-5.4的thttpd2.25b补丁,及编译方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表