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 相关文章推荐
一次编写,随处运行
Oct 09 PHP
PHP常用代码大全(新手入门必备)
Jun 29 PHP
用PHP读取超大文件的实例代码
Apr 01 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
May 15 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
Mar 03 PHP
php使用post数组的键值创建同名变量并赋值的方法
Apr 03 PHP
php写app接口并返回json数据的实例(分享)
May 20 PHP
创建无限极分类树型结构的简单方法
Jun 20 PHP
利用PHP扩展Xhprof分析项目性能实践教程
Sep 05 PHP
Yii2.0 RESTful API 基础配置教程详解
Dec 26 PHP
在PHP中输出JS语句以及乱码问题的解决方案
Feb 13 PHP
PHP时间相关常用函数用法示例
Jun 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
php include,include_once,require,require_once
2008/09/05 PHP
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
php设计模式 Command(命令模式)
2011/06/26 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
js自定义事件代码说明
2011/01/31 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
JS前端笔试题分析
2016/12/19 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
python 截取 取出一部分的字符串方法
2017/03/01 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
学期自我鉴定范文
2013/10/01 职场文书
药店促销活动策划方案
2014/08/24 职场文书
民主评议党员自我鉴定
2014/10/21 职场文书
2014年司法所工作总结
2014/11/22 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
呐喊读书笔记
2015/06/30 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL