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中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 PHP
如何使用PHP计算上一个月的今天
May 23 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
PHP邮件发送类PHPMailer用法实例详解
Sep 22 PHP
php防止sql注入之过滤分页参数实例
Nov 03 PHP
简单谈谈php中ob_flush和flush的区别
Nov 27 PHP
使用PHP如何实现高效安全的ftp服务器(二)
Dec 30 PHP
php中文乱码问题的终极解决方案汇总
Aug 01 PHP
PHP字典树(Trie树)定义与实现方法示例
Oct 09 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 PHP
如何用PHP websocket实现网页实时聊天
May 26 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
php将字符串转换成16进制的方法
2015/03/17 PHP
PHP中isset与array_key_exists的区别实例分析
2015/06/02 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
php实现的双色球算法示例
2017/06/20 PHP
js或css实现滚动广告的几种方案
2010/01/28 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
JS打印组合功能
2016/08/04 Javascript
JS中script标签defer和async属性的区别详解
2016/08/12 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
关于python3中setup.py小概念解析
2019/08/22 Python
如何在pycharm中安装第三方包
2020/10/27 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
ProBikeKit英国:在线公路自行车之家
2017/02/10 全球购物
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
简短证婚人证婚词
2014/01/09 职场文书
公司总经理任命书
2014/06/05 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
检讨书怎么写
2015/01/23 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
python - timeit 时间模块
2021/04/06 Python
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸