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 相关文章推荐
for循环连续求和、九九乘法表代码
Feb 20 PHP
PHP插入排序实现代码
Apr 04 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
Jun 20 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
php文件服务实现虚拟挂载其他目录示例
Apr 17 PHP
PHP使用in_array函数检查数组中是否存在某个值
Mar 25 PHP
php动态函数调用方法
May 21 PHP
php+flash+jQuery多图片上传源码分享
Jul 27 PHP
详解Laravel视图间共享数据与视图Composer
Aug 04 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP绕过open_basedir限制操作文件的方法
Jun 10 PHP
php修改word的实例方法
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
咖啡语言
2021/03/03 咖啡文化
人大复印资料处理程序_输入篇
2006/10/09 PHP
隐性调用php程序的方法
2009/03/09 PHP
PHP面向对象教程之自定义类
2014/06/10 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
json的前台操作和后台操作实现代码
2012/01/20 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
nodejs简单访问及操作mysql数据库的方法示例
2018/03/15 NodeJs
分享Python开发中要注意的十个小贴士
2016/08/30 Python
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
python如何实现int函数的方法示例
2018/02/19 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
pyqt5 实现在别的窗口弹出进度条
2019/06/18 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
Python接口测试文件上传实例解析
2020/05/22 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
求职简历推荐信范文
2013/12/02 职场文书
理工科学生的自我评价
2013/12/15 职场文书
小学生常见病防治方案
2014/06/06 职场文书
质量主管工作职责
2014/09/26 职场文书
单位租房协议范本
2014/12/03 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
听证通知书
2015/04/24 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
Django操作cookie的实现
2021/05/26 Python