• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:変数名の中に変数を代入する方法について)

変数名の代入方法について

このQ&Aのポイント
  • 変数名の中に変数を代入する方法について説明します。規則的な代入方法を紹介し、エラーが発生する場合の解決策も示します。
  • ソースコードの一部で変数を代入する方法について説明します。ループ処理を利用して簡潔なコードで代入できますが、エラーが発生する場合があります。
  • 変数名の代入方法を解説します。ソースコードの例を用いて具体的な手順を説明し、代入時に起こるエラーに対する対処法も説明します。

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

  • ベストアンサー
  • xKENx
  • ベストアンサー率65% (21/32)
回答No.1

元ソースを活かして書くなら、こんな感じでいかがでしょうか。 for($i=1; $i<4; $i++) { $var_name_current = 'test' . $i . 'a'; $var_name_next = 'test' . ($i + 1) . 'a'; $$var_name_current = $$var_name_next; } 配列を使うところかな、とは思いますが…

iroha_168
質問者

お礼

ご回答ありがとうございます。 ご教示いただいたソースで意図した動作となりました。 それとosamuyさんもご指摘のとおり、配列を使う方が良さそうですね。 ともあれ、このたびはどうもありがとうございました。 以上、よろしくお願いします。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

ANo.1さんが言っているように、何故配列を使うほうが良いかと。 $test_a = array( 1, 2, 3, 4 ); array_shift( $test_a ); # 先頭要素を消して、前に詰める。 array_push( $test_a, '' ); # 末尾に空白を追加。 逆に、配列を使わない理由が分からなかったり。

参考URL:
http://www.ideone.com/gMS8P
iroha_168
質問者

お礼

ご回答ありがとうございます。 確かに配列を使う方が良さそうですね。 ちなみに現在作成しているものの関係上、途中が削除され、その後が1つずつずれることもあるのですが、その場合、下記のようにunsetを使えば大丈夫そうな感じですね。 http://dhive.jp/blog/yama/?p=2193 以上、よろしくお願いします。

関連するQ&A