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 相关文章推荐
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
PHP实现文件下载断点续传详解
Oct 15 PHP
php连接oracle数据库及查询数据的方法
Dec 29 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
May 04 PHP
Yii数据读取与跳转参数传递用法实例分析
Jul 12 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 PHP
django中的ajax组件教程详解
Oct 18 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
Oct 03 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 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
资料注册后发信小技巧
2006/10/09 PHP
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
PHP判断图片格式的七种方法小结
2013/06/03 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
图片完美缩放
2006/09/07 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
Jquery easyui 实现动态树
2015/11/17 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
angularJs在多个控制器中共享服务数据的方法
2018/09/30 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
封装 axios+promise通用请求函数操作
2020/08/11 Javascript
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
python实现批量文件重命名
2019/10/31 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
html5配合css3实现带提示文字的输入框(摆脱js)
2013/03/08 HTML / CSS
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
公司营业员的工作总结自我评价
2013/10/05 职场文书
汽车专业毕业生自荐信
2013/11/03 职场文书
个人自我评价分享
2013/12/20 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
婚庆答谢词大全
2015/09/29 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python