• ベストアンサー

配列をPOSTで受けとる

タイトルのまんまですが 配列をformで送って それをPOSTで受け取りたいのですが うまくいきません 具体的に言うと <?php print"<form method=POST action=action.php>"; for($i=0; $i<$n; $i++){    print"<input type=text name=foo[$i]>"; } print"<input type=hidden name=n value=$n>"; print"<input type=submit value=go>"; print"<form>"; ?> ///////////以下action.php////////////////// <?php $n = $_POST["n"]; for($j=0; $j<$n; $j++){    $foo[$j] = $_POST["foo[$j]"];    print"$foo[$j]"; } ?> こんな感じのことがしたいのですが うまくいきません どうもPOSTされてないみたいでfoo[$j]はnullです 凡ミスな気がしなくもないんですが...プログラム初心者なんで↓↓ 教えてください よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

atsuGTさんこんにちは。 受け取り側は $foo = $_POST["foo"]; とするだけで$fooに送信された配列が格納されます。 $_POST["foo[添え字]"] ではなく、 $_POST["foo"][添え字] となります。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

補足ですが、PHPの特徴として 添え字がなくても0から順番に数字が勝手につきます。 <?PHP print <<<eof <form method="POST" action="$PHP_SELF"> <input type="text" name="foo[]"> <input type="text" name="foo[]"> <input type="text" name="foo[]"> <input type="text" name="foo[]"> <input type="text" name="foo[]"> <input type="text" name="foo[]"> <input type="text" name="foo[]"> <input type="text" name="foo[]"> <input type="text" name="foo[]"> <input type="text" name="foo[]"> <input type="submit" value="go"> </form> eof; $foo = $_POST["foo"]; print_r($foo); ?>

関連するQ&A