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 相关文章推荐
优化使用mysql存储session的php代码
Jan 10 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 PHP
浅析PHP文件下载原理
Dec 25 PHP
php注册登录系统简化版
Dec 28 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
PHP 验证身份证是否合法的函数
Feb 09 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
PHP生成随机码的思路与方法实例探索
Apr 11 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
YII2框架中添加自定义模块的方法实例分析
Mar 18 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生成网页快照 不用COM不用扩展.
2010/02/11 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
Vue基础配置讲解
2019/11/29 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
python 调用有道api接口的方法
2019/01/03 Python
Python英文文本分词(无空格)模块wordninja的使用实例
2019/02/20 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
python 循环数据赋值实例
2019/12/02 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
Python+OpenCV检测灯光亮点的实现方法
2020/11/02 Python
新闻系毕业生推荐信
2013/11/16 职场文书
销售经理工作职责范文
2013/12/03 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
Python 内置函数速查表一览
2021/06/02 Python