• ベストアンサー

変数文字の中に変数を入れたい

初心者です。宜しく御願いします。 java sprictで文字列の中に変数名を入れたいのですが、 可能でしょうか? 例えば、PHPとかですと、変数の前に「$」があるので、 $hensu1="5"; ${hensu.$hensu}="dekirukana";←このような表現がしたいのです。 echo $hensu5; のような(上のプログラムが動くかどうかは別として)表現が可能かどうかが知りたいのです。 for文などで、一度に多くの変数に値を入れたいのですが、 どうあがいてもできません。わかりません。 どなたか救いの手をお願いします。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

forでまわすなら配列つかうといいと思いますよ hensu=new Array(); hensu[1]="5"; hensu[hensu[1]]="dekirukana"; alert(hensu[5]); それとキタナイ書き方だとこういうのもあります hensu1="5"; eval("hensu"+hensu1+"='dekirukana'"); alert(hensu5);

hamaddux
質問者

お礼

回答有難うございます。 yambejpさんのいわれる「キタナイ書き方」で必死にもがいておりました。確かに配列のほうがきれいですね。 「eval」という関数があったのですね。知りませんでした。配列以外に新たな発見があり、さらに感謝です。 変数&変数表示に成功後、 if文のなかに変数&変数をいれてみたらうまくいきませんでした。が、「eval」を用いたキタナイ書き方だとうまく条件分岐ができました。ありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

var hensu1="5"; window["hensu"+hensu1]="test"; alert(hensu5); 見たいな感じでできます。 何か問題があれば補足してください。

hamaddux
質問者

お礼

回答有難うございます。 第一関門突破できました。

関連するQ&A

  • グローバルな変数を変数名を指定せずに変更することができるか?

    <script> g_hensu1 = "変数1"; g_hensu2 = "変数2"; g_hensu3 = "変数3"; g_hensu4 = "変数4"; g_hensu5 = "変数5";  ・  ・ 上記のようにhtml上に定義されている変数を 変数名を指定せずに変更できないでしょうか? 例えばHenkoという関数があり、 Henko(g_hensu1, g_hensu2, g_hensu3); とすると、g_hensu1~3の変数の値を空文字列にするという関数は どのような方法が考えられるでしょうか?

  • アスタリスクを文字列として変数に入れるには

    HP-UX cshで、アスタリスクを文字列として 変数に入れるにはどうしたら良いでしょうか? 現在は <file3の中身> grep -v file*.txt | grep -v file2.txt で、 set hensu=`cat file3.txt`としてecho $hensuすると grep -v file1.txt file2.txt file3.txt | grep -v file2.txt という具合に、アスタリスクがワイルドカードとして 働きます。これを「file*.txt」という文字列として 変数に入れる方法を教えてください。 宜しくお願いします。

  • 変数を取り出しているのに、なぜdefine関数は使

    変数を取り出しているのに、なぜdefine関数は使わないの? 変数に値を格納して取り出すときは、define関数を使うと覚えたのですが 牡蠣コードでも変数に値を入れて取り出せます。 <?php $number = 12345; echo $number; ?> define関数はどういう時に使うのでしょうか?文字列の場合のみですか?

    • ベストアンサー
    • PHP
  • 変数に入った値を変数として扱うことはできますか?

    VBスクリプトで自動で作成した値を変数に変化したいのですが、可能なのでしょうか? 例えば hensu = "5" ~DBのテーブルからフィールド名"hensu"を抜き出し、変数"field_set"に入れる。~ OpenField = OpenField & field_set& "=""&"& field_set&"&""" sql = "update test_table set" sql = sql &" "& OpenField sql = sql & "where scode = '" & scode & "'" という感じにしたいのですが、当然"field_set"には"5"ではなく"hensu"というフィールド名の文字列が入ります そもそも変数に入れた値を変数に変換する事って可能なのでしょうか? 宜しくお願い致します。

  • 変数の中に変数を使うには?

    いつもお世話になっております。 CSVファイルを読み込んで、 list($id,$title,$name,$note,$date) = explode(",", $value); といった形で変数に割り当て、 print <<<_EOT_ <DIV class="title">$title</DIV> <DIV class="note">$note</DIV> _EOT_; のようにレイアウトしています。 $noteの中に変数が混ざったテキストを使いたいのですが、なかなか思うように置き換わりません。 <?php echo $hensu; ?>などと試してみたりもしたのですが… ファイルから読み込んだデータの中に、変数を使う事は、可能なのでしょうか? どうぞご教示をお願いいたします。

    • ベストアンサー
    • PHP
  • 同じ名前の変数…

    数日前からPHPをはじめた者です。 クラス変数(という呼び方が適切かは??)と、その変数に値をセット/ゲットする関数を内包するクラスを作ってみたのですが、それに関してどうもピンと来ない部分があるので質問させてください。 以下がソースです。 class sample{ var $hensu; function set_hensu($str){ $hensu = $str; } function get_hensu(){ return $hensu; } } 上記クラスを使って値のセット/ゲットをしようとしたのですが、結果は×でした。 ファンクション内の変数を、thisで指定するとうまく行きました。 最初に指定した変数と、ファンクション内の変数を同一のものだと認識させるには、ファンクション内でのthis指定の他に方法は無いのでしょうか? もしくは、ファンクション内で書いた変数が新しい変数だと認識させない方法とか…。 無いなら諦めます。よろしくお願いします。 また、直接質問とは関係ないのですが、 どうしてPHPは変数名を書いただけで変数が作られてしまうのでしょう。メリットは何ですか? 分かりづらくて戸惑ってます。

    • ベストアンサー
    • PHP
  • PHPから文字列を変数に割り当てたい

    変数aにPHPから文字列や空文字を割り当てたいのですが、 次のようなコードだと http://ideone.com/dHmbVY 「b is not defined」や「Unexpected token」といったエラーが出てしまいます・・・ 次のように var a = <?php echo 3 ?>; 文字列じゃなくて数字ならエラーが出ずに済むのですが、 どのように記述すればPHPから文字列を割り当てるとこができるのでしょうか?

  • echoの直後に変数(文字列ではなく)を記述?

    echoの正しい記述方法についてご質問します。 echoの直後に変数(文字列ではなく)を記述する場合の質問です。この場合、echoを使用して「変数です」と出力(「」は、出力しません。)するには、以下の例の内、どの記述が正しい(又は最も良い)のでしょうか? 例1: <?php $var = "変数"; echo $var,'です'; ?> 例2: <?php $var = "変数"; echo ',$var,です'; ?> 例3: <?php $var = "変数"; echo '$var,です'; ?> また、上記よりもっと良い記述方法があれば、お教え下さい。 この質問の内容に関して詳細な情報が記載されているサイト等をご存知でしたら、お教え下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • エクセルのVBの変数設定の仕方について

    エクセルのVBの変数設定の仕方について エクセルのVBについて質問です。 変数を設定する作業が何回もあるため、関数化できないかと考えています。 まず、最後の列の数字を求め、そこから"○列前の列の数"という設定をしたいのです。 実際のプログラムは以下のようになります。 (変数は既に宣言済み) ------------------------------ last_retu = Range("K5").End(xlToRight).Column retu1 = last_retu - 8 retu2 = last_retu - 7 retu3 = last_retu - 6 retu4 = last_retu - 5 retu5 = last_retu - 4 retu6 = last_retu - 3 retu7 = last_retu - 2 retu8 = last_retu - 1 ------------------------------------- これをFor文でまわせないかと考えたときに、 ------------------------------------- hensu_no = 8 '8個変数を作成する For count = 1 To hensu_no "retu" & count = last_retu - hensu_no + 1 - count Next ------------------------------------- というように、変数名「retu1」の数字の部分を増やして、 変数名に値を設定する・・・ということはできないでしょうか。 上の文だと構文エラーになってしまいます。。 新たにStringの変数を使用して、 retu_name = "retu" & count retu_name = last_retu - 8 というようにしようかと思ったのですが、 これだとただretu_nameという変数に数字が入ってしまうことになりますよね。 分かりにくいかもしれませんが、いい方法がありましたら、 教えて頂けると幸いです。 よろしくお願い致します。

  • 変数を文字列として扱う方法

    VB初心者なのですが、 変数を、その変数のまま文字列で扱う方法がないかと悩んでいます。具体的に言うと、 たとえば、 Dim Bef(i,j) As String と宣言しておいて、 Bef(1,1)に、SCATTERBRAiN11 Bef(1,2)に、SCATTERBRAiN12 Bef(1,3)に、SCATTERBRAiN13 …… Bef(i,j)に、SCATTERBRAiNij という「文字列」を入れたいのです。 (最後の2文字i,jが、そのときの変数i,jの値。) これをFor構文を使って、 Bef(i,j)="SCATTERBRAiN" + i + j と書いたら、エラーになってしまいました。 iやjを、その変数に入っている数字の文字列として扱うには、どうすればいいのでしょうか。 よろしくお願いします。