ใช้เมื่อฟอร์มมีอินพุทชนิดเดียวกันอยู่เป็นจำนวนมาก เช่น มี Checkbox จำนวน 10 อัน
สามารถใช้ได้กับอินพุททุกประเภท ไม่ว่าจะเป็น Checkcox, Text, Hidden, Textarea หรือ Select
การเตรียมการทางด้าน form
ต้องกำหนดพร็อปเพอร์ตี้ name ของอินพุทชนิด (type) เดียวกัน ที่อยู่ในกลุ่มเดียวกันใหเเป็นชื่อเเดียวกัน และลงท้ายชื่อนั้นด้วย [] เพื่อทำให้อยู่ในรูปแบบอาร์เรย์
ตัวอย่าง
<form method=”post” action “…”>
<input type=”text” name=”mytext[]” /><br />
<input type=”text” name=”mytext[]” /><br />
<input type=”text” name=”mytext[]” /><br />
</form>
การจัดการทางด้านเซอร์ฟเวอร์
ด้านเซิร์ฟเวอร์จะอ่านข้อมูลที่ส่งเข้ามา โดยใข้รูปแบบ
หรือ $_GET[ชื่ออินพุท][เลขลำดับ];
เลขลำดับ หมายถึง ลำดับของข้อมูลที่ถูกส่งมายังเซิร์ฟเวอร์ เช่น ถ้ามีอินพุท Text จำนวน 10 อัน อันแรกจะมีลำดับเป็น 0 ต่อไปเป็น 1, 2, 3, … 9 แต่ต้องเปรียบเทียบกันอินพุทที่กำหนดพร็อปเพอร์ตี้ name เหมือนกันเท่านั้น
ตัวอย่าง
$text1 = $_POST['mytext'][0];
$text2 = $_POST['mytext'][1];
$text3 = $_POST['mytext'][2];
สามารถใช้ลูป for หรือ foreach เพื่อดึงข้อมูลได้
$count = count( $_POST['mytext'] ); //จำนวนอินพุท
for ($i = 0; $i < $count; $i++) {
echo $_POST['mytext'][$i] . “<br />”;
}
//หรือใช้แบบ foreach
foreach ($_POST['mytext'] as $value) {
echo $value . “<br />”;
}
ตัวอย่างฟอร์มและการส่งข้อมูลแบบอาร์เรย์
