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 相关文章推荐
oracle资料库函式库
Oct 09 PHP
php+mysql写的简单留言本实例代码
Jul 25 PHP
浅谈PHP 闭包特性在实际应用中的问题
Oct 30 PHP
php microtime获取浮点的时间戳
Feb 21 PHP
关于PHP5 Session生命周期介绍
Mar 02 PHP
php 生成文字png图片的代码
Apr 17 PHP
改写函数实现PHP二维/三维数组转字符串
Sep 13 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
php封装的smartyBC类完整实例
Oct 19 PHP
PHP实现APP微信支付的实例讲解
Feb 10 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
Sep 30 PHP
laravel邮件发送的实现代码示例
Jan 31 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大转盘中奖概率算法实例
2014/10/21 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
设定php简写功能的方法
2019/11/28 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
微信小程序 wxapp画布 canvas详细介绍
2016/10/31 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
使用python实现个性化词云的方法
2017/06/16 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
python处理“
2019/06/10 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
巴西购物网站:Estrela10
2018/12/13 全球购物
销售类个人求职信范文
2013/09/25 职场文书
物流仓管员岗位职责
2013/12/04 职场文书
生物科学专业个人求职信范文
2013/12/07 职场文书
学校清明节活动总结
2014/07/04 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
Spring中bean的生命周期之getSingleton方法
2021/06/30 Java/Android