PHP中容易遗忘却功能强大的几个过滤器函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gu_wen_jie/article/details/82801308

首先,提前祝大家中秋节快乐,阖家团圆~~~

找个碎片时间(今天提前放假,美滋滋~~~)更新一篇,主要介绍几个PHP的过滤器函数

1.filter_has_var()

filter_has_var() 函数检查是否存在指定输入类型的变量。

若成功,则返回 true,否则返回 false。

<?php
	if(!filter_has_var(INPUT_GET, "name"))
	 {
		 echo("Input type does not exist");
	 }
	else
	 {
		 echo("Input type exists");
	 }

这样的话if(isset($_GET[“name”])这种类似判断就可以这么做了 直接返回true或者false
当然还有很多用法了(自己看名字应该就知道什么用法了):

INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_SERVER
INPUT_ENV

(CSDN这波更新很不错,代码终于可以自己选择样式了,好看多了)

2.filter_var()

filter_var() 函数通过指定的过滤器过滤变量。

如果成功,则返回已过滤的数据,如果失败,则返回 false。
以上的是官方的解释,我自己应用的一个地方就是邮箱验证场景,不需要再写各种正则匹配了,像这样:

<?php
	if(!filter_var("[email protected]", FILTER_VALIDATE_EMAIL))
	 {
	 	echo("E-mail is not valid");
	 }
	else
	 {
	 	echo("E-mail is valid");
	 }

第二个参数我另外举例几个,大家参考下:

FILTER_VALIDATE_URL 把值作为 URL 来验证
FILTER_VALIDATE_EMAIL 把值作为 e-mail 来验证,上面举例了
FILTER_VALIDATE_IP 把值作为 IP 地址来验证
FILTER_VALIDATE_FLOAT 以浮点数验证值
...

还有很多,就不一一举例了,需要的可以翻阅手册查看一下。

3.FILTER_SANITIZE_STRING过滤器

过滤器去除或编码不需要的字符,删除那些对应用程序有潜在危害的数据。它用于去除标签以及删除或编码不需要的字符。

<?php
$var="<b>test<b>";

var_dump(filter_var($var, FILTER_SANITIZE_STRING));

看结果吧
test标签已经被去除

4.FILTER_SANITIZE_NUMBER_INT过滤器

过滤器删除数字中所有非法的字符。

<?php
$number="5-2+3test";
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_INT));

看结果吧
5-2+3非法字符已经被自动过滤了

就这几个吧,我想说的是人的记忆都是有时间的,经常不用的过段时间就会忘记了,还有很多你就不曾接触过的函数也许会在你的某段代码里有奇效,但你压根不知道,所以经常的翻看手册,函数列表还是很有好处的,包括其他的知识点也是,温故而知新嘛

猜你喜欢

转载自blog.csdn.net/gu_wen_jie/article/details/82801308
今日推荐