7个鲜为人知却非常实用的PHP函数


Posted in PHP onJuly 01, 2015

概述

PHP有着众多的内置函数,其中大多数函数都被开发者广发使用。但也有一些同样有用却被遗忘在角落,本文将介绍7个鲜为人知功能却非常酷的函数。

highlight_string()

当需要在网页中展示PHP代码时,highlight_string()函数就显得非常有用。该函数通过PHP内置定义的颜色,返回函数中代码的高亮显示版本。

<?php

    highlight_string('<?php echo "hello world" ; ?>');

    echo highlight_string('<?php echo "hello world" ; ?>',true);

?>

str_word_count()

这个函数可以方便的将输入的字符串参数中的单词个数返回。

<?php

    $str = "hello world";

    echo str_word_count($str);  //输出 2

?>

levenshtein()

该函数可以方便的返回两个参数之间的levenshtein(编辑距离)。曾经遇到过一个需求,用户在编辑身份证的时候,限制用户只能修改4位数字,使用的就是这个函数。

<?php

    $idcard='230406198506206797';

    $newIdcard='230406198506207798';

    echo levenshtein($idcard,$newIdcard);  //输出 2

?>

get_defined_vars()

这个函数在调试程序的时候非常有用,它会返回包含所有已定义变量的数组,其中包含环境、系统以及用户自定义变量。

<?php

    var_dump(get_defined_vars());

?>

escapeshellcmd()
该函数用来跳过字符串中的特殊符号,防止恶意用户耍花招破解服务器系统。可以搭配exec()与system()函数使用。

<?php

$command = './configure '.$_POST['configure_options'];

$escaped_command = escapeshellcmd($command);

system($escaped_command);

?>

checkdate()

该函数可以用来检测日期参数的有效性。它可以验证输入的每一个参数的合法性。

<?php

var_dump(checkdate(12, 31, 2000));

var_dump(checkdate(2, 29, 2001));

//输出

//bool(true)

//bool(false)

?>

php_strip_whitespace()

该函数会返回删除了注释与空格后的PHP源码。这对实际代码数量和注释数量的对比很有用。

<?php

// 注释1

/*

 * 注释2

 */

echo php_strip_whitespace(__FILE__);

do_nothing();

?>
PHP 相关文章推荐
PHP下MAIL的另一解决方案
Oct 09 PHP
Optimizer与Debugger兼容性问题的解决方法
Dec 01 PHP
php simplexmlElement操作xml的命名空间实现代码
Jan 04 PHP
PHP实现变色验证码实例
Jan 06 PHP
ThinkPHP采用实现三级循环代码实例
Jul 18 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
Laravel 4.2 中队列服务(queue)使用感受
Oct 30 PHP
Smarty保留变量用法分析
May 23 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
如何理解PHP核心特性命名空间
May 28 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
Jul 01 #PHP
php实现的网络相册图片防盗链完美破解方法
Jul 01 #PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 #PHP
php检测图片主要颜色的方法
Jul 01 #PHP
PHP函数实现从一个文本字符串中提取关键字的方法
Jul 01 #PHP
浅谈php提交form表单
Jul 01 #PHP
用PHP代码给图片加水印
Jul 01 #PHP
You might like
php启动时候提示PHP startup的解决方法
2013/05/07 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
微信小程序修改swiper默认指示器样式的实例代码
2018/07/18 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
常见的在Python中实现单例模式的三种方法
2015/04/08 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
Python定义函数实现累计求和操作
2020/05/03 Python
python新手学习可变和不可变对象
2020/06/11 Python
python如何使用代码运行助手
2020/07/03 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
.net软件工程师应聘上机试题
2015/03/10 面试题
2014年中职班主任工作总结
2014/12/16 职场文书
检讨书模板
2015/01/29 职场文书
《刷子李》教学反思
2016/02/20 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python