首頁  >  文章  >  後端開發  >  php過濾器函數有哪些? php濾波器函數的介紹

php過濾器函數有哪些? php濾波器函數的介紹

不言
不言轉載
2018-10-26 16:50:422197瀏覽

這篇文章帶給大家的內容是關於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刪除