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 读取Postgresql中的数组
Apr 14 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 PHP
浅谈ThinkPHP的URL重写
Nov 25 PHP
php获取当月最后一天函数分享
Feb 02 PHP
PHP、Python和Javascript的装饰器模式对比
Feb 03 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
ThinkPHP框架安全实现分析
Mar 14 PHP
PHP实现批量检测网站是否能够正常打开的方法
Aug 23 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 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
Zerg剧情介绍
2020/03/14 星际争霸
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
深入分析js中的constructor和prototype
2012/04/07 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
vue组件与复用详解
2018/04/08 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
详解angularjs跨页面传参遇到的一些问题
2018/11/01 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
2020/02/14 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
python中的五种异常处理机制介绍
2014/09/02 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
解决PyCharm的Python.exe已经停止工作的问题
2018/11/29 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
一道Delphi上机题
2012/06/04 面试题
物流专业大学应届生求职信
2013/11/03 职场文书
施工安全员岗位职责
2015/04/11 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang