• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォームを使った配列変数の受け渡し)

PHP初心者のためのフォームを使った配列変数の受け渡し方法

このQ&Aのポイント
  • PHP初心者のためのフォームを使った配列変数の受け渡し方法について解説します。
  • 一次元配列の受け渡しは成功したが、二次元配列の受け渡しでは問題が発生しました。
  • 多分、配列変数の記述方法が間違っていることが原因です。基本的なPHPの文法がわからないため、解決法につまずいています。

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

  • ベストアンサー
  • rhl
  • ベストアンサー率37% (42/111)
回答No.1

こんばんわ。 受け側の echo ("$tmp_data[$i][$j] <br>\n"); が問題です。 これだと echo ($tmp_data[$i]."[$j] <br>\n"); のように解釈されてしまうのです。 だから、 echo ($tmp_data[$i][$j]."<br>\n"); とするか、配列の前後に{}をつけて、 echo ("{$tmp_data[$i][$j]} <br>\n"); としてどこまでが配列の添え字なのか明示的にすれば いいですね。

rakujin
質問者

お礼

回答ありがとうございました。 {}でくくりましたところ、みごとに動きました。 このところ2日ばかり寝つきが悪かったのですが、 これで落ち着いて眠れます。ありがとうございました。

その他の回答 (2)

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.3

print_r($tmp_data) で一発です。

rakujin
質問者

お礼

回答ありがとうございます。 該当行に書き込み実行したところ、(フォームの値は、1,2,3と入れる) Array ( [0] => Array ( [0] => 1 ) ) Array ( [0] => Array ( [0] => 1 ) [1] => Array ( [0] => 2 ) ) Array ( [0] => Array ( [0] => 1 ) [1] => Array ( [0] => 2 ) [2] => Array ( [0] => 3 ) ) Array ( [0] => Array ( [0] => 1 ) [1] => Array ( [0] => 2 ) [2] => Array ( [0] => 3 ) [3] => Array ( [0] => 4 ) ) と表示されてしまいます。 書き込む場所がおかしかったのでしょうか? 受け側の echo ("$tmp_data[$i][$j] <br>\n"); ここに書き込みました。

  • rhl
  • ベストアンサー率37% (42/111)
回答No.2

NO1です。 すいません、回答の6行目と9行目のピリオド「.」が 見えにくいかもしれません。

関連するQ&A