10个php函数实用却不常见


Posted in PHP onOctober 13, 2015

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”;

10个php函数实用却不常见,快点收藏起来吧

PHP 相关文章推荐
PHP初学入门
Nov 19 PHP
PHP+MySQL投票系统的设计和实现分享
Sep 23 PHP
PHP自动生成后台导航网址的最佳方法
Aug 27 PHP
php解析url的三个示例
Jan 20 PHP
PHP+memcache实现消息队列案例分享
May 21 PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 PHP
腾讯CMEM的PHP扩展编译安装方法
Sep 25 PHP
php实现的读取CSV文件函数示例
Feb 07 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
PHP实现将标点符号正则替换为空格的方法
Aug 09 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
Smarty模板类内部原理实例分析
Jul 03 PHP
PHP实现连接设备、通讯和发送命令的方法
Oct 13 #PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
Oct 13 #PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 #PHP
apache和PHP如何整合在一起
Oct 12 #PHP
php实现Mysql简易操作类
Oct 11 #PHP
php实现微信公众平台账号自定义菜单类
Oct 11 #PHP
php实现微信公众号无限群发
Oct 11 #PHP
You might like
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
php实现的验证码文件类实例
2015/06/18 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
Yii2实现多域名跨域同步登录退出
2017/02/04 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
jQuery后代选择器用法实例
2014/12/23 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
使用express+multer实现node中的图片上传功能
2018/02/02 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
用Python给文本创立向量空间模型的教程
2015/04/23 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
Python日志:自定义输出字段 json格式输出方式
2020/04/27 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
浅谈Html5多线程开发之WebWorkers
2018/05/02 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
《广玉兰》教学反思
2014/04/14 职场文书
应届毕业生自荐书
2014/06/18 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
2014年党员评议表自我评价
2014/09/27 职场文书
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL