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动态生成VRML网页
Oct 09 PHP
关于mysql 字段的那个点为是定界符
Jan 15 PHP
PHP 显示客户端IP与服务器IP的代码
Oct 12 PHP
jQuery+php实现ajax文件即时上传的详解
Jun 17 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 PHP
php基于GD库画五星红旗的方法
Feb 24 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 PHP
PHP实现批量上传单个文件
Dec 29 PHP
PHP框架性能测试报告
May 08 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
php判断电子邮件是否正确方法
Dec 04 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(6) 面向对象
2010/02/16 PHP
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
php创建无限级树型菜单
2015/11/05 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
python读写二进制文件的方法
2015/05/09 Python
python中redis的安装和使用
2016/12/04 Python
python基础梳理(一)(推荐)
2019/04/06 Python
详解django中Template语言
2020/02/22 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
自考毕业自我鉴定范文
2013/10/27 职场文书
测绘工程系学生的自我评价
2013/11/30 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
建筑院校毕业生求职信
2014/06/13 职场文书
学前班教学反思
2016/02/24 职场文书
详解Python中的进程和线程
2021/06/23 Python
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js
vue中div禁止点击事件的实现
2022/04/02 Vue.js