2011-07-22 31 views
2

我將要發佈html表單,它將發送標記爲'chunk1','chunk2','chunk3'的文本塊直至可能未知的數字。有沒有辦法順序通過$ _POST ['chunk1']等到一個沒有設置? 我可以做一個foreach,但foreach將包含其他POST值。PHP:訪問順序編號的POST條目

回答

4

怎麼樣:

for ($i=1 ; isset($_POST['chunk'.$i]) ; $i++) { 
    // Do your stuff 
} 
+0

確保你在1開始'$ i',因爲OP提到後變量以「塊1」開頭。 –

+0

的確,固定它。 – Johan

+0

我認爲這是我應該去的方式。非常感謝。不能相信我雖然沒有想到這個哈哈。 – Alex

0

只是做你的foreach,並檢查每個鍵入口,以確保它開始於'chunk'

3

只使用

<input name="chunk[0]"> 
<input name="chunk[1]"> 
... 

和PHP然後

$_POST['chunk'][$i] .... 
+0

不幸的是輸入的名字超出了我的控制範圍。 – Alex

0
foreach ($_POST as $key => $val) { 
    if (strstr($key,"chunk") === false) continue; 
    //do stuff 
} 
+1

如果OP同時擁有''_and_'',該怎麼辦? –

0
$chunks = preg_grep('/^chunk\d+$/', array_keys($_POST)); 

這會漚嗯一個只有POST條目數組是塊1,塊2等......

+1

[preg_grep](http://php.net/manual/en/function.preg-grep.php)是否與_values_不匹配_keys_? ([給出的例子](http://www.ideone.com/uv555)) –

+0

Woops,right ... added array_keys() –