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 相关文章推荐
用PHP4访问Oracle815
Oct 09 PHP
php实现无限级分类实现代码(递归方法)
Jan 01 PHP
深入PHP autoload机制的详解
Jun 09 PHP
PHP中对缓冲区的控制实现代码
Sep 29 PHP
php删除数组元素示例分享
Feb 17 PHP
Yii框架中memcache用法实例
Dec 03 PHP
Yii框架form表单用法实例
Dec 04 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
php 利用socket发送HTTP请求(GET,POST)
Aug 24 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
Yii框架表单提交验证功能分析
Jan 07 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 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
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
2006/10/09 PHP
mysql中存储过程、函数的一些问题
2007/02/14 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
js 操作select相关方法函数
2009/12/06 Javascript
读jQuery之十 事件模块概述
2011/06/27 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
javascript事件委托的方式绑定详解
2015/06/10 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
RC4文件加密的python实现方法
2015/06/30 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
wxpython绘制音频效果
2019/11/18 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
瀑布模型都有哪些优缺点
2014/06/23 面试题
新任教师自我鉴定
2014/02/24 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
DQL数据查询语句使用示例
2022/12/24 MySQL