1つの入力のみを使用して、このような出力を取得することは可能ですか?
<input name="value"/>
$_POST['value'] = 1;
$_POST['value'] = 2;
$_POST['value'] = 3;
$_POST['value'] = etc;
編集:単一のフォーム入力を使用して配列を渡そうとしています。
1つの入力のみを使用して、このような出力を取得することは可能ですか?
<input name="value"/>
$_POST['value'] = 1;
$_POST['value'] = 2;
$_POST['value'] = 3;
$_POST['value'] = etc;
編集:単一のフォーム入力を使用して配列を渡そうとしています。
複数の入力を同じ名前で送信する[]
には、このように最後に括弧を追加します
<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);
?>
いいえ、おそらく ajax を使用して、一度に 1 つずつ値を保存しない限り、そうではありません。
あなたの質問は少し不明確ですが、単一のフォームを使用して配列を渡そうとする場合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