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下MAIL的另一解决方案
Oct 09 PHP
一个简单的自动发送邮件系统(二)
Oct 09 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
Apr 18 PHP
php操作SVN版本服务器类代码
Nov 27 PHP
用来解析.htpasswd文件的PHP类
Sep 05 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
Nov 19 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
PHP图片加水印实现方法
May 06 PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 PHP
PHPstorm激活码2020年5月13日亲测有效
Sep 17 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目录操作实例代码
2014/02/21 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
Prototype Object对象 学习
2009/07/12 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
NodeJS有难度的面试题(能答对几个)
2019/10/09 NodeJs
JavaScript实现音乐导航效果
2020/11/19 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
python之线程通过信号pyqtSignal刷新ui的方法
2019/01/11 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
电子商务专业推荐信范文
2013/12/02 职场文书
个人教师自我评价范文
2013/12/02 职场文书
配件采购员岗位职责
2013/12/03 职场文书
行政前台岗位职责
2013/12/04 职场文书
电子信息专业自荐书
2014/02/04 职场文书
大一学生职业生涯规划
2014/03/11 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
小王子读书笔记
2015/06/29 职场文书
大学开学感言
2015/08/01 职场文书