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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
生成随机字符串和验证码的类的PHP实例
Dec 24 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
php中文字符串截取方法实例总结
Sep 30 PHP
php以post形式发送xml的方法
Nov 04 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
UTF-8正则表达式如何匹配汉字
Aug 03 PHP
php等比例缩放图片及剪切图片代码分享
Feb 13 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
php实现算术验证码功能
Dec 05 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
php FPDF类库应用实现代码
2009/03/20 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
jquery插件制作 图片走廊 gallery
2012/08/17 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
javascript控制台详解
2015/06/25 Javascript
通过点击jqgrid表格弹出需要的表格数据
2015/12/02 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
javascript关于继承解析
2016/05/10 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
2017/11/22 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
一文带你了解Python中的字符串是什么
2018/11/20 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
为什么要有struct关键字
2012/05/08 面试题
如何写出好的Java代码
2014/04/25 面试题
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
护士自我评价
2014/02/01 职场文书
《我的信念》教学反思
2014/02/15 职场文书
2014年督导工作总结
2014/11/19 职场文书
个人年终总结范文
2015/03/09 职场文书
黄河绝恋观后感
2015/06/08 职场文书
Python字符串对齐方法使用(ljust()、rjust()和center())
2021/04/26 Python
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL