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 相关文章推荐
php抓即时股票信息
Oct 09 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
PHP添加Xdebug扩展的方法
Feb 12 PHP
强制PHP命令行脚本单进程运行的方法
Apr 15 PHP
php解析xml方法实例详解
May 12 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
Mar 28 PHP
PHP加密解密类实例代码
Jul 20 PHP
php实现当前页面点击下载文件的简单方法
Sep 22 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
Mar 15 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 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 mysql索引问题
2008/06/07 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
Yii中使用PHPExcel导出Excel的方法
2014/12/26 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
常用简易JavaScript函数
2009/04/09 Javascript
提高网站性能之 如何对待JavaScript
2009/10/31 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
Asp.Net alert弹出提示信息的几种方法总结
2014/01/29 Javascript
JavaSript中变量的作用域闭包的深入理解
2014/05/12 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
详解js的六大数据类型
2016/12/27 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
2015/04/24 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
python版本的读写锁操作方法
2016/04/25 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
python修改字典键(key)的方法
2019/08/05 Python
日本无添加化妆品:HABA
2016/08/18 全球购物
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
新闻记者实习自我鉴定
2013/09/19 职场文书
党员剖析材料范文
2014/12/18 职场文书
朋友聚会开场白
2015/06/01 职场文书
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL