ฟังก์ชัน filter_input_array() รับอินพุตหลายอินพุต (เช่นอินพุตแบบฟอร์ม) จากภายนอกสคริปต์และกรองอินพุตเหล่านั้น
ฟังก์ชันนี้มีประโยชน์สำหรับการกรองตัวแปรอินพุตหลายตัวโดยไม่ต้องเรียก filter_input() ซ้ำๆ
ฟังก์ชั่นนี้สามารถรับอินพุตจากแหล่งต่างๆ:
INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_ENV
INPUT_SERVER
INPUT_SESSION (ยังไม่ได้ใช้งาน)
INPUT_REQUEST (ยังไม่ได้ใช้งาน)
หากสำเร็จ ข้อมูลที่กรองจะถูกส่งกลับเป็นอาร์เรย์ หากล้มเหลวจะส่งกลับ FALSE
filter_input_array (ประเภทอินพุต, filter_args)
พารามิเตอร์ | อธิบาย |
---|---|
input_type | ที่จำเป็น. ระบุประเภทอินพุต ดูรายการประเภทที่เป็นไปได้ด้านบน |
filter_args | ไม่จำเป็น. ระบุอาร์เรย์ของพารามิเตอร์ตัวกรอง คีย์อาร์เรย์ทางกฎหมายคือชื่อตัวแปร และค่าทางกฎหมายคือรหัสตัวกรอง หรืออาร์เรย์ที่ระบุตัวกรอง แฟล็ก และตัวเลือก พารามิเตอร์นี้อาจเป็น ID ตัวกรองเดียวก็ได้ หากเป็นเช่นนั้น ค่าทั้งหมดในอาร์เรย์อินพุตจะถูกกรองโดยตัวกรองที่ระบุ รหัสตัวกรองอาจเป็นชื่อรหัส (เช่น FILTER_VALIDATE_EMAIL) หรือหมายเลขรหัส (เช่น 274) |
เคล็ดลับ: ดูคู่มืออ้างอิงตัวกรอง PHP ฉบับสมบูรณ์เพื่อดูตัวกรองที่สามารถใช้กับฟังก์ชันนี้ได้
ในตัวอย่างนี้ เราใช้ฟังก์ชัน 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, "ตัวเลือก"=>อาร์เรย์ ( "min_range"=>1, "max_range"=>120 ) ), "อีเมล"=> FILTER_VALIDATE_EMAIL, );print_r(filter_input_array(INPUT_POST, $filters));?>
ผลลัพธ์ของโค้ดมีลักษณะดังนี้:
อาร์เรย์ ( [name] => Peter [age] => 41 [email] => [email protected] )