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环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
Nov 17 PHP
php array_walk() 数组函数
Jul 12 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
Jun 28 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
Jun 27 PHP
php获取数组中重复数据的两种方法
Jun 28 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
Jan 07 PHP
PHP实现上传多图即时显示与即时删除的方法
May 09 PHP
Laravel多用户认证系统示例详解
Mar 13 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
Apr 10 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
Sep 30 PHP
PHP日期和时间函数的使用示例详解
Aug 06 PHP
Laravel配合jwt使用的方法实例
Oct 25 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和ACCESS写聊天室(十)
2006/10/09 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
php支付宝在线支付接口开发教程
2016/09/19 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
javascript Excel操作知识点
2009/04/24 Javascript
javascript 面向对象编程 function也是类
2009/09/17 Javascript
JavaScript 对象模型 执行模型
2009/12/06 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
Javascript学习指南
2014/12/01 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
tab栏切换原理
2017/03/22 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
JS实现继承的几种常用方式示例
2019/06/22 Javascript
创建nuxt.js项目流程图解
2020/03/13 Javascript
爬山算法简介和Python实现实例
2014/04/26 Python
Python爬取读者并制作成PDF
2015/03/10 Python
使用Python实现简单的服务器功能
2017/08/25 Python
Python引用计数操作示例
2018/08/23 Python
关于Python作用域自学总结
2019/06/10 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
使用python模拟命令行终端的示例
2019/08/13 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
室内设计专业自荐信
2014/05/31 职场文书
技术负责人任命书
2014/06/05 职场文书
西岭雪山导游词
2015/02/06 职场文书
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python