首页 >后端开发 >php教程 >php过滤器函数有哪些?php过滤器函数的介绍

php过滤器函数有哪些?php过滤器函数的介绍

不言
不言转载
2018-10-26 16:50:422236浏览

本篇文章给大家带来的内容是关于php过滤器函数有哪些?php过滤器函数的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

filter_has_var:检测是否存在指定类型的变量。接受两个参数,第一个是变量类型,第二个是变量名。

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

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

filter_input:通过名称获取特定的外部变量,并且可以选择通过过滤器对其进行过滤。接受四个参数,第一个参数为变量类型,第二个参数是变量名,第三个参数是可选的要使用的过滤器的id,默认为FILTER_DEFAULT,即不进行过滤。第四个参数是可选的过滤器使用的选项的关联数组,或按位区分的标识。如果获取成功则返回指定的变量,如果失败则返回false,如果指定的变量不存在则返回null。如果使用了FILTER_NULL_ON_FAILURE标记则当变量不存在时返回false,过滤失败返回null。

filter_input_array:获取一系列外部变量,并且可以选择通过过滤器对其进行过滤。接受四个参数,第一个参数为变量类型,第二个参数为可选的要使用的过滤器。可以是一个数组:数组的键为一个包含变量名的字符串,数组的值可以是过滤器类型常量,也可以是一个指明了过滤器、标识和选项的数组,此数组有效的键为filter指明过滤器类型,flags指明要用于过滤器的标识或者options指明要用于过滤器的选项。还可以只是一个过滤器类型常量,所有的变量都会使用这个过滤器。第三个参数为PHP5.4新增的可选参数,用于指定如果指定的键不存在时,将其值设置为null,默认为true。如果处理成功,返回包含所有变量的数组,失败则返回false。如果指定的变量不存在则返回null。如果使用了FILTER_NULL_ON_FAILURE标记则当变量不存在时返回false,过滤失败返回null。

filter_var:使用特定的过滤器过滤一个变量。接受三个参数,第一个为带过滤的变量,第二个参数为可选的要使用的过滤器的id,默认为FILTER_DEFAULT,即不进行过滤。第三个参数为可选的过滤器使用的选项的关联数组,或按位区分的标识。如果过滤器接受选项,可以通过数组的flags指定这些标识。对于回调型的过滤器,应该传入回调函数的名称,回调函数必须接受一个待过滤的值,并返回一个过滤后的值。

filter_var_array:获取多个变量并且可以选择通过过滤器对其进行过滤。接受三个参数,第一个为变量数组,键为变量名,值为变量值,即待过滤的值。第二个参数为可选的要使用的过滤器。可以是一个数组:数组的键为一个包含变量名的字符串,数组的值可以是过滤器类型常量,也可以是一个指明了过滤器、标识和选项的数组,此数组有效的键为filter指明过滤器类型,flags指明要用于过滤器的标识或者options指明要用于过滤器的选项。还可以只是一个过滤器类型常量,所有的变量都会使用这个过滤器。第三个参数为PHP5.4新增的可选参数,用于指定如果指定的键不存在时,将其值设置为null,默认为true。如果处理成功,返回包含所有变量的数组,失败则返回false。如果指定的变量不存在则返回null。如果使用了FILTER_NULL_ON_FAILURE标记则当变量不存在时返回false,过滤失败返回null。

<?php
header("Content-type: text/html; charset=utf-8");
$char_br="<br/>";
$str="QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm";
$num=rand(5,20);
$random_test_value=substr(str_shuffle($str),rand(5,strlen($str)),$num);
$args=array(
	"id" =>array(&#39;filter&#39; => FILTER_VALIDATE_INT,
				 &#39;options&#39;=> array(&#39;min_range&#39; => 1, &#39;max_range&#39; => 10)
		   ),
	"missing"=>FILTER_SANITIZE_ENCODED,
	"searched"=>FILTER_SANITIZE_ENCODED
);
$vars=filter_input_array(INPUT_GET,$args);

echo "<a href=&#39;?searched=$random_test_value&id=$num&#39;>Search again.</a>$char_br";

if(filter_has_var(INPUT_GET,"searched")){
	$search_html = $vars["searched"];
	echo "You have searched for $search_html.$char_br";
}else{
	echo "You searched nothing$char_br";
}
var_dump($vars);
$options=array(
	&#39;options&#39;=>array(
		&#39;default&#39; => 5,
		&#39;min_range&#39; => 1,
		&#39;max_range&#39; => 10
	),
	&#39;flags&#39; => FILTER_FLAG_ALLOW_OCTAL,
);
echo "id filtered by filter_var is:".filter_var($vars["id"],FILTER_VALIDATE_INT,$options)."$char_br";
echo "invoke filter_var_array filter agagin:$char_br";
var_dump(filter_var_array(filter_input_array(INPUT_GET),$args));

echo "支持的过滤器:$char_br id=>name $char_br";
foreach(filter_list() as $v){
	echo filter_id($v),"=>$v$char_br";
}
?>

以上是php过滤器函数有哪些?php过滤器函数的介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:csdn.net。如有侵权,请联系admin@php.cn删除