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下实现一个阿拉伯数字转中文数字的函数
Jul 10 PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
Smarty中调用FCKeditor的方法
Oct 27 PHP
php读取csv数据保存到数组的方法
Jan 03 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
twig模板常用语句实例小结
Feb 04 PHP
教你在header中隐藏php的版本信息
Aug 10 PHP
替换php字符串中的单引号为双引号的方法
Feb 16 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 PHP
Laravel框架验证码类用法实例分析
Sep 11 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
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
Python进阶之全面解读高级特性之切片
2019/02/19 Python
简单了解python代码优化小技巧
2019/07/08 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
浅谈react路由传参的几种方式
2021/03/23 Javascript
生物化工专业个人自荐信
2013/09/26 职场文书
护理专业个人求职简历的自我评价
2013/10/13 职场文书
医院工作检讨书范文
2014/02/10 职场文书
幼儿教师工作感言
2014/02/14 职场文书
服务质量承诺书
2014/03/27 职场文书
班主任个人工作反思
2014/04/28 职场文书
小学中等生评语
2014/12/29 职场文书
政协工作总结2015
2015/05/20 职场文书
拖欠货款起诉状
2015/05/20 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
PO模式在selenium自动化测试框架的优势
2022/03/20 Python