- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:php 変数(変数名)の結合について。)
PHP変数の結合について
このQ&Aのポイント
- php変数の結合について詳しく知りたいです。
- phpで変数に連番で値を代入する方法を教えてください。
- 二次元配列を使って変数に値を代入する方法も知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
$test.$i = (値1,値2,値3,・・・) こちらの書き方がよくないと思います。 この処理を実行すると左辺は変数ではなく文字列の連結が行われ、 $test ⇒ 未定義なので空文字 $i ⇒ ループ毎に変化する数字 なので、内部的には 0 = (値1,値2,値3,・・・) といった意味のない処理が行われているかと思います。 PHPには可変変数という仕組みがあるので、そちらを使われてはいかがでしょうか。 下記のようなコードで実装できると思います。 for($i=0; $i<10; $++) { // 変数名の設定 $name = 'test' . $i; // 値の代入 $$name = array('値1','値2','値3',・・・); } また、この後にどのような処理を行うのか分かりませんが、個人的には二次元配列の方が分かりやすいと思います。 ちなみに二次元配列を作る場合$iを指定しなくても自動で添字が付与されます。 for($i=0; $i<10; $++) { $test[] = array('値1','値2','値3',・・・); } そもそも同じ値を持つ変数を複数作るという処理なのであれば、無駄な処理の可能性が高い気がします。。
その他の回答 (1)
- magicalpass
- ベストアンサー率58% (378/648)
回答No.1
${'test'.$i} = array(値1,値2,値3,・・・);
質問者
お礼
迅速な返答有難う御座います。 知識に乏しい自分の知識が一つ増えました。 有難う御座います。
お礼
迅速なご返答有難う御座います。 また、説明文まで書いて頂いて感謝しております。 変数に数字を持たせてるのは この後の処理で無くなる可能性があるのです。 と言うのが、 $test1 = 0,1,0,3,・・・ $test2 = 0,0,0,0,・・・ $test3 = 50,1,0,0,・・・ 等、配列の数値は色々可変するのですが 0しか無い変数は削除。 ただ、変数名の連番は変動させたくない(固定で管理したい)為 二次元で処理していません。 二次元の場合、 $test[0] = 0,1,0,3,・・・ $test[1] = 0,0,0,0,・・・ $test[2] = 50,1,0,0,・・・ と代入され、0の値は無いモノと認識され $test[0] = 0,1,0,3,・・・ $test[1] = 50,1,0,0,・・・ と、上に詰められるのかと懸念しています。 実験すれば分かる事なんですけど・・・。 上に詰められないのでしたら二次元でも問題無い為、 一度二次元で確認してみようと思います。 本当に有難う御座いました。