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 相关文章推荐
第二节--PHP5 的对象模型
Nov 16 PHP
PHP在字符串中查找指定字符串并删除的代码
Oct 02 PHP
php ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
PHP 快速排序算法详解
Nov 10 PHP
php通过session防url攻击方法
Dec 10 PHP
Thinkphp实现自动验证和自动完成
Dec 19 PHP
PHP简单实现无限级分类的方法
May 13 PHP
php断点续传之文件分割合并详解
Dec 13 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
Jun 06 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
PHP dirname功能及原理实例解析
Oct 28 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
vue数据双向绑定的注意点
2017/06/23 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
解决python 文本过滤和清理问题
2019/08/28 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
幼儿园小班教师寄语
2014/04/03 职场文书
迁户口计划生育证明
2014/10/19 职场文书
平安家庭事迹材料
2014/12/20 职场文书
社区服务理念口号
2015/12/25 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript