PHP中鲜为人知的10个函数


Posted in PHP onFebruary 28, 2014

PHP里有非常丰富的内置函数,很多我们都用过,但仍有很多的函数我们大部分人都不熟悉,可它们却十分的有用。这篇文章里,我列举了一些鲜为人知但会让你眼睛一亮的PHP函数。

levenshtein()

你有没有经历过需要知道两个单词有多大的不同的时候,这个函数就是来帮你解决这个问题的。它能比较出两个字符串的不同程度。

用法:

<?php 
$str1 = "carrot"; 
$str2 = "carrrott"; 
echo levenshtein($str1, $str2); //Outputs 2 
?>

get_defined_vars()

这是一个在debug调试时非常有用的函数。这个函数返回一个多维数组,里面包含了所有定义过的变量。

用法:

<?php
print_r(get_defined_vars());
?>

php_check_syntax()

这个函数非常的有用,可以用来检查PHP的语法是否正确。出于技术上的原因,从PHP 5.05开始,这个函数被删除了。

用法:

<?php 
$error_message = ""; 
$filename = "./php_script.php"; 
if(!php_check_syntax($filename, &$error_message)) { 
echo "Errors were found in the file $filename: $error_message"; 
} else { 
echo "The file $filename contained no syntax errors"; 
} 
?>

ignore_user_abort()

这个函数用来拒绝浏览器端用户终止执行脚本的请求。正常情况下客户端的退出会导致服务器端脚本停止运行。

用法:

<?php
ignore_user_abort();
?>

highlight_string()

当你想把PHP代码显示到页面上时,highlight_string()函数就会显得非常有用。这个函数会把你提供的PHP代码用内置的PHP语法突出显示定义的颜色高亮显示。这个函数有两个参数,第一个参数是一个字符串,表示这个字符串需要被突出显示。第二个参数如果设置成TRUE,这个函数就会把高亮后的代码当成返回值返回。

用法:

<?php
highlight_string('<?php phpinfo(); ?>');
?>

highlight_file

这是一个非常有用的PHP函数,它能返回指定的PHP文件,并按照语法语义用高亮颜色突出显示文件内容。其中的突出显示的代码都是用HTML标记处理过的。

用法:

<?php
highlight_file("php_script.php");
?>

php_strip_whitespace

这个函数也跟前面的show_source()函数相似,但它会删除文件里的注释和空格符。

用法:

<?php
echo php_strip_whitespace("php_script.php");
?>

get_browser

这个函数会读取browscap.ini文件,返回浏览器兼容信息。

用法:

<?php
echo $_SERVER['HTTP_USER_AGENT'];
$browser = get_browser();
print_r($browser);
?>

memory_get_usage(),memory_get_peak_usage(),getrusage()

这些函数用来获取内存和CPU使用情况,memory_get_usage()函数返回内存使用量,memory_get_peak_usage()函数返回内存使用峰值,getrusage()返回CUP使用情况,在调试PHP代码性能时,这些函数会给你提供一些有用信息。但有一点请注意,在这些函数中Window上无效。

用法:

<?php 
echo "Initial: ".memory_get_usage()." bytes \n"; 
echo "Peak: ".memory_get_peak_usage()." bytes \n"; 
$data = getrusage(); 
echo "User time: ". 
($data['ru_utime.tv_sec'] + 
$data['ru_utime.tv_usec'] / 1000000); 
echo "System time: ". 
($data['ru_stime.tv_sec'] + 
$data['ru_stime.tv_usec'] / 1000000); 
?>

gzcompress(), gzuncompress()

这两个函数用来压缩和解压字符串数据。它们的压缩率能达到50% 左右。另外的函数 gzencode() 和 gzdecode() 也能达到类似结果,但使用了不同的压缩算法。

用法:

<?php 
$string = 
"Lorem ipsum dolor sit amet, consectetur 
adipiscing elit. Nunc ut elit id mi ultricies 
adipiscing. Nulla facilisi. Praesent pulvinar, 
sapien vel feugiat vestibulum, nulla dui pretium orci, 
non ultricies elit lacus quis ante. Lorem ipsum dolor 
sit amet, consectetur adipiscing elit. Aliquam 
pretium ullamcorper urna quis iaculis. Etiam ac massa 
sed turpis tempor luctus. Curabitur sed nibh eu elit 
mollis congue. Praesent ipsum diam, consectetur vitae 
ornare a, aliquam a nunc. In id magna pellentesque 
tellus posuere adipiscing. Sed non mi metus, at lacinia 
augue. Sed magna nisi, ornare in mollis in, mollis 
sed nunc. Etiam at justo in leo congue mollis. 
Nullam in neque eget metus hendrerit scelerisque 
eu non enim. Ut malesuada lacus eu nulla bibendum 
id euismod urna sodales. "; 
$compressed = gzcompress($string); 
$original = gzuncompress($compressed); 
?>

你是否也想到了还有其它很有用的函数?请在评论里分享出来!
PHP 相关文章推荐
一个简单的自动发送邮件系统(三)
Oct 09 PHP
PHP安装攻略:常见问题解答(一)
Oct 09 PHP
php 无限级缓存的类的扩展
Mar 16 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
Jul 07 PHP
PHP文章按日期(月日)SQL归档语句
Nov 29 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
php获得网站访问统计信息类Compete API用法实例
Apr 02 PHP
php实现随机生成易于记忆的密码
Jun 19 PHP
php注册登录系统简化版
Dec 28 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
超强多功能php绿色集成环境详解
Jan 25 PHP
php中调用其他系统http接口的方法说明
Feb 28 #PHP
PHP URL参数获取方式的四种例子
Feb 28 #PHP
php使用多个进程同时控制文件读写示例
Feb 28 #PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 #PHP
php命名空间学习详解
Feb 27 #PHP
php读取excel文件示例分享(更新修改excel)
Feb 27 #PHP
php中的strpos使用示例
Feb 27 #PHP
You might like
php 删除cookie和浏览器重定向
2009/03/16 PHP
php中使用gd库实现远程图片下载实例
2015/05/12 PHP
php分割合并两个字符串的函数实例
2015/06/19 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
Javascript之BOM(window对象)详解
2016/05/25 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
python抓取百度首页的方法
2015/05/19 Python
详解python调用cmd命令三种方法
2019/07/08 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
python爬虫之遍历单个域名
2019/11/20 Python
python如何把字符串类型list转换成list
2020/02/18 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
使用Python操作MySQL的小技巧
2020/09/10 Python
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
2014年宣传工作总结
2014/11/18 职场文书
收入证明怎么写
2015/06/12 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS