-6

1つの入力のみを使用して、このような出力を取得することは可能ですか?

<input name="value"/>
$_POST['value'] = 1;
$_POST['value'] = 2;
$_POST['value'] = 3;
$_POST['value'] = etc;

編集:単一のフォーム入力を使用して配列を渡そうとしています。

4

3 に答える 3

1

複数の入力を同じ名前で送信する[]には、このように最後に括弧を追加します

<input type="text" name="bob[]" />
<input type="text" name="bob[]" />
<input type="text" name="bob[]" />
<input type="text" name="bob[]" />
<input type="text" name="bob[]" />

反対側でbobは、配列になります:

<?php

$Bob = (isset($_POST['bob']) === TRUE ? $_POST['bob'] array());

echo 'RES:'. implode(',', $Bob);

?>
于 2012-09-19T21:06:53.553 に答える
0

いいえ、おそらく ajax を使用して、一度に 1 つずつ値を保存しない限り、そうではありません。

于 2012-09-19T21:05:31.497 に答える
0

あなたの質問は少し不明確ですが、単一のフォームを使用して配列を渡そうとする場合input、短い答えはノーです。単一の要素を使用して、配列を POST 配列に渡すことはできません (複数選択フォームを除く) element ) ですが、送信後に少し処理するだけで簡単です。値に区切り文字を使用し、PHP で展開するだけです。

HTML の場合:

<input name="value" value="1|2|4|4|5" />

PHPで

$values = explode('|',$_POST['value']);

これにより、次のようになります。

$values[0] == 1;
$values[1] == 2;
...

ただし、PHP 配列が単一のキーに対して同時に複数の値を持つようにする方法は決してないため、次のような PHP 配列を持つことはできません。

$_POST['value'] = 1;
$_POST['value'] = 2;
$_POST['value'] = 3;
$_POST['value'] = etc;

どのような配列 (_POSTまたはそれ以外の場合) でも、$array[KEY] は 2 つの値を持つことはできません (つまり、どうしてif ($_POST['value'] === $_POST['value'])true にならないのでしょうか?それ以上、if ($x===$x)またはif (1===1)false になることはできません)。ただし、次のような多次元配列を使用できます。

$_POST['value'][0] = 1;
$_POST['value'][1] = 2;
$_POST['value'][2] = 3;
$_POST['value'][3] = 'etc';

そして、次のように操作します。

foreach($_POST['value'] as $key =>$value){
    echo $value.',';
}

出力する

1,2,3,etc
于 2012-09-19T21:14:27.060 に答える