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中用加号与用array_merge合并数组的区别深入分析
Jun 03 PHP
深入PHP中慎用双等于(==)的详解
Jun 06 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
Sep 26 PHP
通过php删除xml文档内容的方法
Jan 23 PHP
PHP速成大法
Jan 30 PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 PHP
PHP生成唯一订单号的方法汇总
Apr 16 PHP
PHP实现权限管理功能示例
Sep 22 PHP
PHP连接sftp并下载文件的方法教程
Aug 26 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 PHP
php实现快速对二维数组某一列进行组装的方法小结
Dec 04 PHP
PHP基于ip2long实现IP转换整形
Dec 11 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
杏林同学录(三)
2006/10/09 PHP
用PHP和ACCESS写聊天室(十)
2006/10/09 PHP
php XMLWriter类的简单示例代码(RSS输出)
2011/09/30 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
深入理解PHP变量的值类型和引用类型
2015/10/21 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
js获取height和width的方法说明
2013/01/06 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
详解webpack3编译兼容IE8的正确姿势
2017/12/21 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中字符串对齐方法介绍
2015/05/21 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
python xpath获取页面注释的方法
2019/01/14 Python
Python3 实现串口两进程同时读写
2019/06/12 Python
python随机数分布random均匀分布实例
2019/11/27 Python
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
教师开学感言
2014/02/14 职场文书
学校交通安全责任书
2014/08/25 职场文书
计划生育汇报材料
2014/12/26 职场文书
考研导师推荐信范文
2015/03/27 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
vue使用element-ui按需引入
2022/05/20 Vue.js