• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:php 変数(変数名)の結合について。)

PHP変数の結合について

このQ&Aのポイント
  • php変数の結合について詳しく知りたいです。
  • phpで変数に連番で値を代入する方法を教えてください。
  • 二次元配列を使って変数に値を代入する方法も知りたいです。

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

  • ベストアンサー
  • smileeeen
  • ベストアンサー率70% (21/30)
回答No.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',・・・); } そもそも同じ値を持つ変数を複数作るという処理なのであれば、無駄な処理の可能性が高い気がします。。

参考URL:
http://php.net/manual/ja/language.variables.variable.php
buzinesswa
質問者

お礼

迅速なご返答有難う御座います。 また、説明文まで書いて頂いて感謝しております。 変数に数字を持たせてるのは この後の処理で無くなる可能性があるのです。 と言うのが、 $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,・・・ と、上に詰められるのかと懸念しています。 実験すれば分かる事なんですけど・・・。 上に詰められないのでしたら二次元でも問題無い為、 一度二次元で確認してみようと思います。 本当に有難う御座いました。

その他の回答 (1)

回答No.1

${'test'.$i} = array(値1,値2,値3,・・・);

buzinesswa
質問者

お礼

迅速な返答有難う御座います。 知識に乏しい自分の知識が一つ増えました。 有難う御座います。

関連するQ&A