2011-01-29 41 views
6

Tôi có một chuỗi trông giống như:PHP - tạo mảng từ chuỗi

single=Single&multiple=Multiple2&check=check1&radio=radio2

làm thế nào tôi có thể tạo ra một mảng như thế này:

array(
    'single' => 'Single', 
    'multiple' => 'Multiple2', 
    'check' => 'check1', 
    'radio' => 'radio2', 
) 
+0

bạn có nhận được yêu cầu không? hay không? :) – FeRtoll

Trả lời

22

Sử dụng parse_str

parse_str('single=Single&multiple=Multiple2&check=check1&radio=radio2', $data); 

Và trong $ data bạn sẽ có các biến của bạn.

+0

câu trả lời hay! ngắn và tốt! ;) +1 – FeRtoll

+0

Cảm ơn bạn single – Alex

+0

Lưu ý: không sử dụng $ data bạn sẽ tạo ra một vấn đề bảo mật, coz bạn đang tải dữ liệu vào phạm vi hiện tại của bạn, vì vậy nó là rất quan trọng để sử dụng nó :) – nv1t

5

Nếu điều này xuất phát từ URL, bạn có thể có làm mảng trong biến $ _GET hoặc $ _POST. Nếu không, hãy sử dụng explode() để chuyển đổi chuỗi thành một mảng.

+0

nó đến từ một hình thức ẩn trường được tạo bằng jquery, như sau: http://api.jquery.com/serialize/ – Alex

+0

nếu bạn đang sử dụng ajax(), get() hoặc post() để gửi nó tới php bạn vẫn nên có nó trong các vars toàn cầu . Như một gợi ý bổ sung, filter_var các vars đến từ js, trước khi sử dụng chúng. –

+0

vâng, tôi làm, nhưng chỉ có đầu vào bị ẩn (đó là tất cả những gì tôi cần). tất cả các đầu vào khác chỉ có để xây dựng chuỗi này :) – Alex

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