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+mysql开源XNA 聚合程序发布 下载
Jul 13 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
Sep 25 PHP
PHP中simplexml_load_string函数使用说明
Jan 01 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
Jul 03 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
PHP pear安装配置教程
May 14 PHP
php获取给定日期相差天数的方法分析
Feb 20 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP实现二维数组中的查找算法小结
Jun 09 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设计模式 Facade(外观模式)
2011/06/26 PHP
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
PHP连接access数据库
2015/03/27 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
javascript之ESC(第二类混淆)
2007/05/06 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
ReactNative实现Toast的示例
2017/12/31 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
如何利用python制作时间戳转换工具详解
2018/09/12 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
文秘专业大学生求职信
2013/11/10 职场文书
护理专业学生的求职信范文
2013/12/11 职场文书
期终自我鉴定
2014/02/17 职场文书
护士实习自荐信
2015/03/06 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python