PHP中非常有用却鲜有人知的函数集锦


Posted in PHP onAugust 17, 2019

本文实例总结了PHP中非常有用却鲜有人知的函数。分享给大家供大家参考,具体如下:

PHP里有非常丰富的内置函数,很多我们都用过,但仍有很多的函数我们大部分人都不熟悉,可它们却十分的有用。这篇文章里,我列举了一些鲜为人知但会让你眼睛一亮的PHP函数。

levenshtein()

你有没有经历过需要知道两个单词有多大的不同的时候,这个函数就是来帮你解决这个问题的。它能比较出两个字符串的不同程度。

用法:

$str1 = "carrot";
$str2 = "carrrott";
echo levenshtein($str1, $str2); //Outputs 2

get_defined_vars()

这是一个在debug调试时非常有用的函数。这个函数返回一个多维数组,里面包含了所有定义过的变量。

用法:

print_r(get_defined_vars());

php_check_syntax()

这个函数非常的有用,可以用来检查PHP的语法是否正确。出于技术上的原因,从PHP 5.05开始,这个函数被删除了。

用法:

$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()

这个函数用来拒绝浏览器端用户终止执行脚本的请求。正常情况下客户端的退出会导致服务器端脚本停止运行。

用法:

ignore_user_abort();

highlight_string()

当你想把PHP代码显示到页面上时,highlight_string()函数就会显得非常有用。这个函数会把你提供的PHP代码用内置的PHP语法突出显示定义的颜色高亮显示。这个函数有两个参数,第一个参数是一个字符串,表示这个字符串需要被突出显示。第二个参数如果设置成TRUE,这个函数就会把高亮后的代码当成返回值返回。

用法:

highlight_string('<?php phpinfo(); ?>');

highlight_file

这是一个非常有用的PHP函数,它能返回指定的PHP文件,并按照语法语义用高亮颜色突出显示文件内容。其中的突出显示的代码都是用HTML标记处理过的。

用法:

highlight_file("php_script.php");

php_strip_whitespace

这个函数也跟前面的show_source()函数相似,但它会删除文件里的注释和空格符。

用法:

echo php_strip_whitespace("php_script.php");

get_browser

这个函数会读取browscap.ini文件,返回浏览器兼容信息。

用法:

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上无效。

用法:

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() 也能达到类似结果,但使用了不同的压缩算法。

用法:

$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 相关文章推荐
用PHP动态创建Flash动画
Oct 09 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
php中计算程序运行时间的类代码
Nov 03 PHP
PHP与javascript实现变量交互的示例代码
Jul 23 PHP
一组PHP可逆加密解密算法实例代码
Jan 21 PHP
php版小黄鸡simsimi聊天机器人接口分享
Jan 26 PHP
smarty中js的调用方法示例
Oct 27 PHP
CodeIgniter配置之routes.php用法实例分析
Jan 19 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
PHP匿名函数(闭包函数)详解
Mar 22 PHP
PHP中Session ID的实现原理实例分析
Aug 17 #PHP
解决php extension 加载顺序问题
Aug 16 #PHP
深入学习微信网址链接解封的防封原理visit_type
Aug 15 #PHP
Thinkphp5框架实现获取数据库数据到视图的方法
Aug 14 #PHP
php中对象引用和复制实例分析
Aug 14 #PHP
php5对象复制、clone、浅复制与深复制实例详解
Aug 14 #PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 #PHP
You might like
德生PL660的电路分析和打磨
2021/03/02 无线电
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
php时间计算相关问题小结
2016/05/09 PHP
php中的登陆login实例代码
2016/06/20 PHP
PHP7多线程搭建教程
2017/04/21 PHP
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
[04:02]2014DOTA2国际邀请赛 BBC每日综述中国战队将再度登顶
2014/07/21 DOTA
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
Python入门_浅谈for循环、while循环
2017/05/16 Python
python中使用print输出中文的方法
2018/07/16 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
python中setuptools的作用是什么
2020/06/19 Python
django rest framework 自定义返回方式
2020/07/12 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
暑期实习鉴定
2013/12/16 职场文书
网络维护中文求职信
2014/01/03 职场文书
表演方阵解说词
2014/02/08 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
员工开除通知书
2015/04/25 职场文书
《1942》观后感
2015/06/08 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python