10 个经典PHP函数


Posted in PHP onOctober 17, 2013

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”;

PHP 相关文章推荐
如何使用PHP中的字符串函数
Oct 09 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
ajax+php打造进度条 readyState各状态
Mar 20 PHP
php判断终端是手机还是电脑访问网站的思路及代码
Apr 24 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
Apr 09 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
php使用curl并发减少后端访问时间的方法分析
May 12 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
Jul 18 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
php中怎么搜索相关联数组键值及获取之
Oct 17 #PHP
php class类的用法详细总结
Oct 17 #PHP
div li的多行多列 无刷新分页示例代码
Oct 16 #PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 #PHP
PHP字符串长度计算 - strlen()函数使用介绍
Oct 15 #PHP
php后台如何避免用户直接进入方法实例
Oct 15 #PHP
php下拉选项的批量操作的实现代码
Oct 14 #PHP
You might like
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
python遍历路径破解表单的示例
2020/11/21 Python
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
学术会议邀请函范文
2014/01/22 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
党员创先争优活动总结
2014/05/04 职场文书
2014年消防工作总结
2014/11/21 职场文书
手术室护士个人总结
2015/02/13 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
工作年限证明模板
2015/06/15 职场文书
Python+tkinter实现高清图片保存
2022/03/13 Python
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python
Nginx HTTP跳转至HTTPS
2022/05/15 Servers