php变量如何过滤,php变量的过滤器函数了解

什么是php变量的过滤器呢?

php过滤器用于验证和过滤来自非安全来源的数据,使用过滤器可以保证应用程序获得正确的输入类型。

php过滤器函数

filter_var():通过指定的过滤器来过滤单一的变量

filter_var_array():通过相同或不同的过滤器来过滤多个变量

filter_input:获取一个输入变量,并对其进行过滤

filter_input_array:获取多个输入变量,并通过相同或者不同的过滤器对其进行过滤

官网还有三种过滤器

filter_has_var:检测是否存在指定类型的变量

fileter_id:返回与某个特定名称的过滤器相关联的id

filter_list:返回所支持的过滤器列表

接下来一一进行介绍

1.filter_var(var,filter,options);三个参数,返回值:正确则返回过滤后的值,否则返回false。

var 需要过滤的变量名

filter 过滤器类型,这个大家记的话估计也难,给两个地址,大家用的时候可以对照参考,熟能生巧

options 官网给出的介绍是一个选项的关联数组,或者按位区分的标示。如果过滤器接受选项,可以通过数组的 “flags” 位去提供这些标示。 对于回调型的过滤器,应该传入 callable。这个回调函数必须接受一个参数,即待过滤的值,并且 返回一个在过滤/净化后的值。个人的理解的话就是对于所需要进行过滤的变量进行一个判断(有点迷);

$age='28';

$min='18';

$max='60';

$options=array("options"=>array("min_range"=>$min,"max_range"=>$max));

//过滤器,257=FILTER_VALIDATE_INT

$age=filter_var($age,257,$options);

// 打印输出

var_dump($age);//输出内容 int(28)

// if判断,当变量值不在范围内输出,比如当$age = '70';的时候则输出 “bool(false) 您的年龄不在范围内”

if(!$age){

echo'您的年龄不在范围内';

}else{

else'年龄符合要求';

}

2.filter_var_array(array $data,filter)获取多个变量并过滤它们,返回值为过滤成功后的值,否则返回false

$a=20;

$b='50';

$arr=[$a,$b];

var_dump(filter_var_array($arr,FILTER_VALIDATE_INT));//返回 array(2) { [0]=> int(20) [1]=> int(50) }

3.filter_input(输入类型get/post,变量名,filter) 验证单个输入变量

$options = [“options”=>[“min_range”=>1]];

var_dump(filter_input(INPUT_GET,’id’,FILTER_VALIDATE_INT,$options));

4.filter_input_array()同时验证多个外部变量 filter_input_array(输出类型get/post,args规定了过滤器参数数组,变量名,过滤器filter);

$args=[

"username"=>FILTER_SANITIZE_STRING,// 过滤字符串

"age"=>FILTER_VALIDATE_INT,// 过滤整型

"url"=>FILTER_VALIDETA_URL,//过滤url地址

"IP"=>FILTER_VALIDATE_IP// 过滤ip

];

var_dump(filter_input_array(INPUT_GET,$args));

总结:php过滤器函数目前这四种常用方式,大致的例子,实用方式与一些疑惑地方后续可能会整理出来,过滤器主要的功能就是去其糟泊,取其精华。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值