2011-07-03 27 views
5

Ví dụ: giả sử tôi đăng một số dữ liệu lên tệp php, nhưng tôi không biết tên của các giá trị đó là gì. Nơi tôi thường sẽ thực hiện $_POST["username"] hoặc một cái gì đó tương tự. Làm thế nào tôi sẽ đi về nhận được một danh sách tất cả các cặp khóa/giá trị trong vòng $_POST

Trả lời

7

array_keys($_POST) sẽ cung cấp cho bạn các phím mảng.

Bạn cũng có thể làm điều này để có được giá trị với những cái tên chủ chốt:

foreach ($_POST as $key => $value) 
{ 
    //do stuff; 
} 

Tuy nhiên !!! Tại sao bạn không biết chìa khóa trong bài viết là gì? Bạn không muốn tin tặc đưa nội dung ngẫu nhiên vào bài đăng, gửi bài đăng cho bạn và xử lý. Không có gì ngăn cản họ đưa vào 1000 mục nhập.

+0

Xin chào, cảm ơn bạn đã trả lời, đây không phải là một phần của hệ thống thực sự tôi đang xây dựng, nó sẽ đơn giản hóa một số thử nghiệm tôi đang làm trong khi tôi làm quen tốt hơn với tất cả các thủ thuật Ajax mà jQuery có thể làm. –

+1

@Tom - Chúc bạn may mắn! – evan

7

Sử dụng array_keys để có được tất cả các phím trong $_POST mảng siêu toàn cầu:

array_keys($_POST) 

đơn giản ví dụ:

foreach (array_keys($_POST) as $key) 
{ 
    print $_POST[$key]; 
} 
+1

Đó là 'foreach' là xấu vì nó phải lặp qua tất cả các phần tử hai lần thay vì một lần. Đầu tiên hệ thống đi qua mảng xây dựng một mảng mới cho 'array_keys()', sau đó nó đi qua nó một lần nữa trong 'foreach()'. Đó là một hoạt động O (2n) thay vì O (n) chỉ làm 'foreach ($ array như $ key => $ value)' như tôi đã đăng. – evan

Các vấn đề liên quan