filter_input_array()函數是PHP中的內置函數,用於獲取外部變量(例如,從表單輸入中獲取)並對其進行過濾(如果已指定)。此函數類似於filter_input()函數,但唯一的區別是filter_input()過濾單個值,但filter_input_array()根據提供的選項過濾整個數組。它對於檢索/過濾許多值很有用,而不是多次調用filter_input()。這是PHP中的新函數,僅在PHP 5.2或更高版本的PHP中有效。
用法:
mixed filter_input_array( $type_of_data, $definition, $add_empty_parameter )
參數:此函數接受上述和以下所述的三個參數:
- type_of_data:它是必填參數。它保存要檢查的數據的輸入類型。可用的選項有:
- INPUT_GET
- INPUT_POST
- INPUT_COOKIE
- INPUT_SERVER
- INPUT_ENV
- definition:它是可選參數。它指定過濾器參數或參數的數組。有效的數組鍵作為變量名,有效值作為過濾器名或ID,或者指定過濾器,標誌和選項的數組。該參數也可以是單個過濾器名稱/ID,就像filter_input()一樣,然後輸入數組中的所有值都由指定的過濾器過濾。
- add_empty_parameter:它是可選參數。它是一個布爾參數。設置為True時,它將缺少的鍵作為NULL添加到返回值。其默認值為True。
返回值:它返回包含成功和失敗變量值的數組,並返回False。如果未填充按類型指定的輸入數組,則如果未給出FILTER_NULL_ON_FAILURE標誌,則函數返回NULL,否則返回False。對於其他失敗,返回False。
以下示例程序旨在說明PHP中的filter_input_array()函數:
程序1:
<?php
$filters = array(
"name" => array(
"filter" => FILTER_CALLBACK,
"flags" => FILTER_FORCE_ARRAY,
"options" => "ucwords"
),
"age" => array(
"filter" => FILTER_VALIDATE_INT,
"options" => array(
"min_range" => 1,
"max_range" => 120
)
),
"email"=> FILTER_VALIDATE_EMAIL,
);
print_r(filter_input_array(INPUT_GET, $filters));
?>
輸出:
注意:此示例可能不提供在線IDE上的預期結果,因為它不支持GET或POST方法中的參數傳遞。因此,嘗試在某些PHP托管服務器或localhost中運行它,並通過GET或POST方法傳遞參數的值。
程序2:
數據來自POST方法:
$_POST = array( 'product_id' => '234<A>', 'component' => array('10'), 'version' => '<2.8.9', 'array2' => array('45', '1'), 'scalar_data' => '2', );
<?php
// PHP program to uses filter_input_array() Function
error_reporting(E_ALL | E_STRICT);
$args = array(
'id' => FILTER_SANITIZE_ENCODED,
'array1' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
'options' => array(
'min_range' => 1,
'max_range' => 10
)
),
'version' => FILTER_SANITIZE_ENCODED,
'noparameter' => FILTER_VALIDATE_INT,
'scalar_data' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
),
'array2' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
)
);
$allinputs = filter_input_array(INPUT_GET, $args);
var_dump($allinputs);
echo "\n";
?>
輸出:
注意:此示例可能不提供在線IDE上的預期結果,因為它不支持GET或POST方法中的參數傳遞。因此,嘗試在某些PHP托管服務器或localhost中運行它,並通過GET或POST方法傳遞參數的值。
參考文獻: http://php.net/manual/en/function.filter-input-array.php
相關用法
- p5.js nfc()用法及代碼示例
- p5.js nfp()用法及代碼示例
- d3.js d3.hcl()用法及代碼示例
- p5.js nfs()用法及代碼示例
- PHP cos( )用法及代碼示例
- PHP sin( )用法及代碼示例
- p5.js nf()用法及代碼示例
- PHP tan( )用法及代碼示例
- PHP pow( )用法及代碼示例
- d3.js d3.map.set()用法及代碼示例
- d3.js d3.set.has()用法及代碼示例
- PHP Ds\Set xor()用法及代碼示例
注:本文由純淨天空篩選整理自gekcho大神的英文原創作品 PHP | filter_input_array() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。