2009-06-18 45 views
35
<input name="foo[]" ... > 

Tôi đã sử dụng các mã này trước đây, nhưng tôi tự hỏi nó được gọi là gì và nếu có đặc tả cho nó?Các mảng đầu vào HTML

Tôi không thể tìm thấy nó trong HTML 4.01 Spec và kết quả trong các kết quả khác nhau của Google chỉ gọi nó là "mảng" cùng với nhiều ví dụ về PHP về xử lý dữ liệu biểu mẫu.

Trả lời

10

Có một số tài liệu tham khảo và gợi ý trong các ý kiến ​​on this page at PHP.net:

Torsten nói

"Mục C.8 các hướng dẫn tương thích XHTML spec của áp dụng đối với việc sử dụng các thuộc tính tên như một định danh đoạn . Nếu bạn đánh dấu vào DTD bạn sẽ thấy rằng những 'tên' thuộc tính được định nghĩa là vẫn CDATA cho các yếu tố hình thức "

Jetboy nói

" theo điều này:. http://www.w3.org/TR/xhtml1/#C_8 loại tên thuộc tính đã được thay đổi trong XHTML 1.0, có nghĩa là các dấu ngoặc vuông trong thuộc tính name của XHTML không hợp lệ.

Bất kể, tại thời điểm viết bài, validator của W3C không chọn này lên trên một tài liệu XHTML."

22

Theo như tôi biết, không có bất kỳ thông tin nào về thông số HTML vì trình duyệt không được phép làm bất kỳ điều gì khác biệt cho các trường này. Họ chỉ gửi chúng như bình thường và PHP là một trong số đó phân tích cú pháp thành một mảng, cũng như các ngôn ngữ khác.

44

Tôi nghĩ đó chỉ là PHP chứ không phải HTML.

Nó phân tích tất cả các trường HTML bằng [] thành một mảng.

Vì vậy, bạn có thể có

<input type="checkbox" name="food[]" value="apple" /> 
<input type="checkbox" name="food[]" value="pear" /> 
<input type="checkbox" name="food[]" value="banana" /> 

và khi gửi, PHP sẽ làm cho $ _POST [ 'ăn'] một mảng, và bạn có thể truy cập phần tử của nó như sau:

echo $_POST['food'][0]; // would output first checkbox selected 

hoặc xem tất cả các giá trị được chọn:

foreach($_POST['food'] as $v) { 
    print $v; 
} 

Nhưng dù sao, đừng nghĩ rằng có một tên cụ thể cho nó

+3

tôi nghĩ anh ấy hiểu được điều này, Anh ta chỉ muốn biết nếu có một đặc điểm cho nó –

+0

Như Paolo nói, tôi hiểu nó, nó cũng được sử dụng trong các ngôn ngữ khác –

+1

PHP là ngôn ngữ duy nhất tôi gặp phải khi thư viện xử lý biểu mẫu mặc định yêu cầu đặt tên đặc biệt quy ước cho các tình huống mà bạn có nhiều quyền kiểm soát thành công với sa tôi tên. Các ngôn ngữ khác thường để lại quyết tâm xử lý một cái gì đó như một mảng hoặc không cho tác giả chương trình. – Quentin

0

theo nó ...

<form action="index.php" method="POST"> 
<input type="number" name="array[]" value="1"> 
<input type="number" name="array[]" value="2"> 
<input type="number" name="array[]" value="3"> <!--taking array input by input name array[]--> 
<input type="number" name="array[]" value="4"> 
<input type="submit" name="submit"> 
</form> 
<?php 
$a=$_POST['array']; 
echo "Input :" .$a[3]; // Displaying Selected array Value 
foreach ($a as $v) { 
    print_r($v); //print all array element. 
} 
?> 
Các vấn đề liên quan