2011-07-22 20 views
2

私は、 'chunk1'、 'chunk2'、 'chunk3'というラベルのついたテキストチャンクを潜在的に不明な番号まで送信するHTMLフォームを作成します。 $ _POST ['chunk1']を順次実行する方法はありますか? 私はforeachを行うことができますが、foreachは他のPOST値も含んでいます。PHP:順番に番号が付けられたPOSTエントリにアクセスする

答えて

4

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

OPに "chunk1"で始まるポスト変数が記述されているので、$ iを1で始めるようにしてください。 –

+0

確かに、それを修正しました。 – Johan

+0

これは私が行かなければならない方法だと思います。どうもありがとう。私はこれをハハだとは思っていなかったと信じています。 – Alex

0

foreachを実行して、各キーエントリが'chunk'で始まることを確認してください。

についてどのように
3

ただ、これはRETます

$_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)); 

その後、

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

やPHPでの使用チャンク1、チャンク2などのPOSTエントリだけの配列を返します。

+1

[preg_grep](http://php.net/manual/en/function.preg-grep.php)は_values_と_keys_は一致しませんか? ([example given](http://www.ideone.com/uv555)) –

+0

Woops、right ... added array_keys() –

関連する問題