PHP filter_input_array() 函數

定義和用法

filter_input_array() 函數從腳本外部獲取多項輸入,並進行過濾。

本函數無需重複調用 filter_input(),對過濾多個輸入變量很有用。

本函數可從各種來源獲取輸入:

  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_ENV
  • INPUT_SERVER
  • INPUT_SESSION (尚未實現)
  • INPUT_REQUEST (尚未實現)

如果成功,則返回被過濾的數據,如果失敗,則返回 false。

语法

filter_input(input_type, args)
参数 描述
input_type 必需。
args

เลือกได้. กำหนดตัวแปรตัวกรอง

ตัวแปรที่สามารถใช้ได้นั้นคือชื่อตัวแปร และค่าที่สามารถใช้ได้คือตัวเลข ID ตัวกรอง หรือตัวแปรที่กำหนดตัวกรอง สัญญาณ และตัวเลือก

ตัวแปรนี้ก็สามารถเป็นได้เพียงตัวเลข ID ตัวกรองเดียว หากเป็นนั้น ทุกค่าในตัวแปรนี้จะถูกกรองโดยตัวกรองที่กำหนด

คำแนะนำ และหมายเหตุ

คำแนะนำ:ดูคู่มืออ้างอิง PHP Filter ทั้งหมดดูข้อมูลเกี่ยวกับตัวแปรกรองที่สามารถใช้กับฟังก์ชันนี้ด้วย:

ตัวอย่าง

ในตัวอย่างนี้ เราใช้ฟังก์ชัน filter_input_array() ในการกรองสามตัวแปร POST ตามตัวเลือกต่างๆ ตัวแปร POST ที่รับเข้ามาคือ ชื่อ อายุ และที่อยู่อีเมล:

<?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_POST, $filters));
?>

ออกแบบเช่นนี้:

Array
 (
 [name] => Peter
 [age] => 41
 [email] => peter@example.com
 )