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 相关文章推荐
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 PHP
10条PHP编程习惯助你找工作
Sep 29 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
Aug 21 PHP
PHP实现图片旋转效果实例代码
Oct 01 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
Dec 23 PHP
PHP MYSQL简易交互式站点开发
Dec 27 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
PHP中quotemeta()函数的用法讲解
Apr 04 PHP
php中字符串和整数比较的操作方法
Jun 06 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
Aug 03 PHP
php去除数组中为0的元素的实例分析
Nov 17 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与已存在的Java应用程序集成
2006/10/09 PHP
PHP 采集程序中常用的函数
2009/12/09 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
jquery tools 系列 scrollable学习
2009/09/06 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
Node.js测试中的Mock文件系统详解
2016/11/21 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
如何用webpack4带你实现一个vue的打包的项目
2018/06/20 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
python访问类中docstring注释的实现方法
2015/05/04 Python
Python贪心算法实例小结
2018/04/22 Python
使用python语言,比较两个字符串是否相同的实例
2018/06/29 Python
python生成器与迭代器详解
2019/01/01 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
观看《永远的雷锋》心得体会
2014/03/12 职场文书
公司运动会策划方案
2014/05/25 职场文书
办理房产证委托书
2014/09/18 职场文书
长城导游词300字
2015/01/30 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
春晚观后感
2015/06/11 职场文书
身份证丢失证明
2015/06/19 职场文书
欢送领导祝酒词
2015/08/12 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers