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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
深入php list()函数的详解
Jun 05 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
PHP判断远程图片是否存在的几种方法
May 04 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
微信公众平台消息接口校验与消息接口响应实例
Dec 23 PHP
PHP遍历数组的方法汇总
Apr 30 PHP
PHP的伪随机数与真随机数详解
May 27 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
Sep 22 PHP
thinkPHP5.0框架安装教程
Mar 25 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
PHP5.6读写excel表格文件操作示例
Feb 26 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加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
IE iframe的onload方法分析小结
2010/01/07 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
微信小程序页面开发注意事项整理
2017/05/18 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
tensorflow训练中出现nan问题的解决
2018/02/10 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
python实现的自动发送消息功能详解
2019/08/15 Python
python列表推导式入门学习解析
2019/12/02 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
浅谈keras中loss与val_loss的关系
2020/06/22 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
开工典礼策划方案
2014/05/23 职场文书
学校教师安全责任书
2014/07/23 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
学习十八大标语
2014/10/09 职场文书
运动会通讯稿100字
2015/07/20 职场文书
Python 中 Shutil 模块详情
2021/11/11 Python