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 中执行排序与 MySQL 中排序
Apr 21 PHP
PHP的SQL注入实现(测试代码安全不错)
Feb 27 PHP
5种PHP创建数组的实例代码分享
Jan 17 PHP
php+ajax实现无刷新分页的方法
Nov 04 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
PHP设计模式之简单投诉页面实例
Feb 24 PHP
浅谈PHP中其他类型转化为Bool类型
Mar 28 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
PHP简单实现解析xml为数组的方法
May 02 PHP
PHP中rename()函数的妙用讲解
Feb 28 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 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
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
jQuery总体架构的理解分析
2011/03/07 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
浅谈JS对象添加getter与setter的5种方法
2018/06/09 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
python如何爬取个性签名
2018/06/19 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
python scatter函数用法实例详解
2020/02/11 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
HTML5新增form控件和表单属性实例代码详解
2019/05/15 HTML / CSS
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
超市促销实习自我鉴定
2013/09/23 职场文书
学校校庆演讲稿
2014/05/22 职场文书
节约能源标语
2014/06/17 职场文书
搞笑婚前保证书
2015/02/28 职场文书
创业计划书之酒店
2019/08/30 职场文书
详解Spring事件发布与监听机制
2021/06/30 Java/Android