İşte anladım:
Çok değerli form alanlarının gönderilmesi, diğer bir deyişle GET / POST değişkenleri yoluyla dizilerin gönderilmesi, bir standart zorunlu olarak belirtilmediğinden, birkaç farklı yolla yapılabilir.
Çok değerli alanlar veya diziler göndermenin üç olası yolu:
?cars[]=Saab&cars[]=Audi
(En iyi yol - PHP bunu bir diziye okur)
?cars=Saab&cars=Audi
(Kötü yol - PHP yalnızca son değeri kaydeder)
?cars=Saab,Audi
(Bunu denemedim)
Form Örnekleri
Bir formda, çok değerli alanlar, birden çok değere ayarlanmış bir seçim kutusu biçimini alabilir :
<form>
<select multiple="multiple" name="cars[]">
<option>Volvo</option>
<option>Saab</option>
<option>Mercedes</option>
</select>
</form>
(NOT: Bu durumda, some_name[]
sonuç denetiminin PHP tarafından bir dizi olarak kaydedilmesi için select denetiminin adlandırılması önemlidir )
... veya aynı ada sahip birden çok gizli alan olarak :
<input type="hidden" name="cars[]" value="Volvo">
<input type="hidden" name="cars[]" value="Saab">
<input type="hidden" name="cars[]" value="Mercedes">
NOT:field[]
Birden çok değer için kullanmak gerçekten kötü belgelenmiştir. Sorgu dizesi - Wikipedia'daki çok değerli tuşlar bölümünde veya çoklu seçim girişleriyle ilgilenen W3C belgelerinde bundan bahsetmiyorum .
GÜNCELLEME
Yorum yapanların belirttiği gibi, bu çok fazla çerçeveye özgüdür. Bazı örnekler:
Sorgu dizesi:
?list_a=1&list_a=2&list_a=3&list_b[]=1&list_b[]=2&list_b[]=3&list_c=1,2,3
Raylar:
"list_a": "3",
"list_b":[
"1",
"2",
"3"
],
"list_c": "1,2,3"
Açısal:
"list_a": [
"1",
"2",
"3"
],
"list_b[]": [
"1",
"2",
"3"
],
"list_c": "1,2,3"
(Açısal tartışma )
Örneklere ilişkin açıklamalara bakınız node.js , Wordpress , ASP.net
Siparişi korumak:
Dikkate alınması gereken bir şey daha , öğelerinizin sırasını (yani sıralı bir liste olarak dizi) sürdürmeniz gerekiyorsa , gerçekten sınırlandırılmış bir değer listesini geçiren ve açıkça kendiniz bir dizi.