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引用计数器进行垃圾收集机制介绍
Sep 19 PHP
table标签的结构与合并单元格的实现方法
Jul 24 PHP
php一维二维数组键排序方法实例总结
Nov 13 PHP
php中substr()函数参数说明及用法实例
Nov 15 PHP
CodeIgniter使用smtp服务发送html邮件的方法
Jun 10 PHP
深入php内核之php in array
Nov 10 PHP
php-msf源码详解
Dec 25 PHP
PHP进阶学习之垃圾回收机制详解
Jun 18 PHP
phpinfo的知识点总结
Oct 10 PHP
PHP实现文件上传操作和封装
Mar 04 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
Mar 23 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 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
第十四节 命名空间 [14]
2006/10/09 PHP
php intval的测试代码发现问题
2008/07/27 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
总结PHP中数值计算的注意事项
2016/08/14 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
PHP7新特性
2021/03/09 PHP
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
Python使用re模块实现信息筛选的方法
2018/04/29 Python
解决.ui文件生成的.py文件运行不出现界面的方法
2019/06/19 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
医学护理毕业生自荐信
2013/11/07 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
幼儿生日活动方案
2014/08/27 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python
Python入门之基础语法详解
2021/05/11 Python
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle