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中使用Oracle数据库(6)
Oct 09 PHP
WML,Apache,和 PHP 的介绍
Oct 09 PHP
Php做的端口嗅探器--可以指定网站和端口
Oct 09 PHP
PHP中的正规表达式(一)
Oct 09 PHP
PHP新手上路(二)
Oct 09 PHP
php调用c接口无错版介绍
Mar 11 PHP
php使用glob函数快速查询指定目录文件的方法
Nov 15 PHP
PHP针对JSON操作实例分析
Jan 12 PHP
php防止sql注入的方法详解
Feb 20 PHP
Laravel中前端js上传图片到七牛云的示例代码
Sep 04 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
php从数据库中获取数据用ajax传送到前台的方法
Aug 20 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
深入密码加salt原理的分析
2013/06/06 PHP
ThinkPHP CURD方法之order方法详解
2014/06/18 PHP
php中的ini配置原理详解
2014/10/14 PHP
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
关于PHP定时发送服务的解决办法
2017/04/23 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2020/01/22 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
小程序实现分类页
2019/07/12 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
wxpython 学习笔记 第一天
2009/02/09 Python
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
Python对列表排序的方法实例分析
2015/05/16 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
pycharm的console输入实现换行的方法
2019/01/16 Python
Python微信操控itchat的方法
2019/05/31 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
python列表推导和生成器表达式知识点总结
2020/01/10 Python
Python实现对adb命令封装
2020/03/06 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
物流合作计划书
2014/01/10 职场文书
幼儿园老师寄语
2014/04/03 职场文书
小学班主任事迹材料
2014/12/17 职场文书
七年级作文之英语老师
2019/10/28 职场文书
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang
基于redis+lua进行限流的方法
2022/07/23 Redis