0

フォームを送信した後、2 つの配列をグループ化して表示するにはどうすればよいですか?

<input type="checkbox" name="location[1]" value="Chicago,IL"  />
<input name="qty[1]" type="text" size="8" id="qty[1]" value="500" />

<input type="checkbox" name="location[2]" value="New York"  />
<input name="qty[2]" type="text" size="8" id="qty[2]" value="100" />

<input type="checkbox" name="location[3]" value="Seattle"  />
<input name="qty[3]" type="text" size="8" id="qty[3]" value="200" />

ユーザーがシカゴとシアトルを選択すると、次のように返されます。

イリノイ州シカゴ - 500、シアトル - 200

私はこれを使用しました

$location = implode(', ',$_POST['location']);

表示されます: シカゴ、イリノイ州、シアトル

しかし、配列が同じ数である場合にも、「数量」を取得する必要があります。したがって、次のように引き込まれます。

イリノイ州シカゴ - 500、シアトル - 200

「数量」の値はユーザーが入力します

4

2 に答える 2

0

implode() 関数を試してみてください。ただし、最初にそれらから作成して配列します。

于 2013-06-25T14:02:57.353 に答える
0

心に留めておくべきことは、チェックボックスが選択されていない場合はサーバーに送信されませんが、空のテキストボックスは送信されるため、 と の単純な組み合わせでforeach目的issetの結果が得られるということです。

// Loop over all text inputs
foreach ($_POST['qty'] as $key => $value)
{
  // Check if the matching checkbox was checked
  if (isset($_POST['location'][$key]))
  {
    echo htmlspecialchars($_POST['location'][$key]) . ' - ' . htmlspecialchars($value);
  }
}

おそらくそれらを配列に追加し、配列にコンマ区切りのリストを取得したいと思うでしょうimplodeが、これは単なる基本的な例です。

于 2013-06-25T14:10:58.527 に答える