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获得用户使用的代理服务器ip即真实ip
Dec 31 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
Oct 31 PHP
html静态页面调用php文件的方法
Nov 13 PHP
php实现按照权重随机排序数据的方法
Jan 09 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
php常用字符函数实例小结
Dec 29 PHP
PHP 无限级分类
May 04 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
PHP设计模式之工厂方法设计模式实例分析
Apr 25 PHP
Laravel 类和接口注入相关的代码
Oct 15 PHP
laravel解决迁移文件一次删除创建字段报错的问题
Oct 24 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 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去除数组中重复的元素并按键名排序函数
2008/08/18 PHP
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
PHP数组操作类实例
2015/07/11 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
php高清晰度无损图片压缩功能的实现代码
2018/12/09 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
2016/05/31 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
使用jQuery和ajax代替iframe的方法(详解)
2017/04/12 jQuery
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
微信小程序显示下拉列表功能【附源码下载】
2017/12/12 Javascript
玩转Koa之核心原理分析
2018/12/29 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
python实现忽略大小写对字符串列表排序的方法
2014/09/25 Python
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
在Python的while循环中使用else以及循环嵌套的用法
2015/10/14 Python
Python操作MySQL数据库9个实用实例
2015/12/11 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
中专生自我鉴定范文
2014/02/02 职场文书
劳动纠纷调解协议书格式
2014/11/30 职场文书
初中作文评语
2014/12/25 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
鸡毛信观后感
2015/06/11 职场文书
学校体育节班级口号
2015/12/25 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python