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 相关文章推荐
实用函数3
Nov 08 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
PHP获取中英混合字符串长度的方法
Jun 07 PHP
PHP之autoload运行机制实例分析
Aug 28 PHP
PHP中使用php://input处理相同name值的表单数据
Feb 03 PHP
PHP中set error handler函数用法小结
Nov 11 PHP
数组任意位置插入元素,删除特定元素的实例
Mar 02 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
windows环境下使用Composer安装ThinkPHP5
May 18 PHP
docker-compose部署php项目实例详解
Jul 30 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中文分词的简单实现代码分享
2011/07/17 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
js捕捉键盘事件和按键键值的方法
2016/10/10 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
Python中使用支持向量机SVM实践
2017/12/27 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
python日期相关操作实例小结
2019/06/24 Python
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
物流专业毕业生推荐信范文
2013/11/18 职场文书
高三生物教学反思
2014/01/25 职场文书
学雷锋标语
2014/06/25 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
公司门卫岗位职责
2015/04/13 职场文书
战友聚会致辞
2015/07/28 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
Win11更新失败并提示0xc1900101
2022/04/19 数码科技