- ベストアンサー
PHP初心者のためのフォームを使った配列変数の受け渡し方法
- PHP初心者のためのフォームを使った配列変数の受け渡し方法について解説します。
- 一次元配列の受け渡しは成功したが、二次元配列の受け渡しでは問題が発生しました。
- 多分、配列変数の記述方法が間違っていることが原因です。基本的なPHPの文法がわからないため、解決法につまずいています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんわ。 受け側の 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"); としてどこまでが配列の添え字なのか明示的にすれば いいですね。
その他の回答 (2)
- kusukusu
- ベストアンサー率38% (141/363)
print_r($tmp_data) で一発です。
お礼
回答ありがとうございます。 該当行に書き込み実行したところ、(フォームの値は、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)
NO1です。 すいません、回答の6行目と9行目のピリオド「.」が 見えにくいかもしれません。
お礼
回答ありがとうございました。 {}でくくりましたところ、みごとに動きました。 このところ2日ばかり寝つきが悪かったのですが、 これで落ち着いて眠れます。ありがとうございました。