• 締切済み

変数名

変数名を $abc1 $abc2・・・・ 繰り返し文などで生成することは可能でしょうか? そして、変数に値を代入したいのですが・・・。 if(a==true){$abc1 = "OK"} if(a==true){$abc2 = "OK"} if(a==true){$abc3 = "OK"}      ・      ・      ・      ・      ・      ・ このような文は繰り返し文では無理ですか??

  • amd64
  • お礼率0% (0/42)
  • PHP
  • 回答数2
  • ありがとう数2

みんなの回答

  • TAI_0824
  • ベストアンサー率54% (6/11)
回答No.2

以下のやり方でOKですね。 余談ですが、仕様等の問題なら仕方ないと思いますが、前後処理とのからみを考慮して、うまく配列操作したほうがいいような気もします。。。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

出来ますよ。こんな感じですかね。   $i = 0;   if (a == true) {     while ($i < 10) {       $i++;       $x = 'abc' . $i;       $$x = 'OK';     }   }   else {     while ($i < 10) {       $i++;       $x = 'abc' . $i;       $$x = 'NG';     }   } $$x で $x の文字列を変数名として指定できます。

関連するQ&A

  • 変数に入っている変数の値を参照したい場合には

    var a1="123"; var a2="789"; と 変数に文字が登録されている場合、 引数として、1又は2を渡し、 1の場合にはa1を 2の場合にはa2の値を 参照することは可能ですか? switchやif文を使わずに、 別の変数に、"a"+引数を代入し、 その変数に代入されている変数を参照する というようなことは可能ですか? 意味わかりますか? すみません。 よろしくお願い致します。

  • javascriptで変数名

    javascriptで変数名を下記のような titleは同じでその後ろに1,2と生成する変数名を forなどで動的に生成するにはどうしたらいいのでしょうか。 生成した変数名に値を入れたいです。 var title1; var title2;

  • 変数にオフセットが付いている時の計算について

    変数:ABC(負号無し1byte)は「-10」のオフセットがついてます。 (0の時-10という値を表す) 変数:XYZ(負号無し1byte)には「-50」のオフセットがついてます。 (0の時-50という値を表す) この2つの変数を使って、XYZ = ABCの代入処理をする場合ですが、 ABC=100とした時(物理値は90)XYZにこのまま代入すると 物理値は50になってしまうので、XYZのオフセット分に合わせこむ為、 ABCの変数に「40」を加算し「140」にしてから代入すれば良いのでしょうか? 又、ABC = XYZ をやる場合は逆に-40してから代入すればOKでしょうか? ご存知の方おりましたら、教えてくださいお願いします。

  • php 変数(変数名)の結合について。

    php 変数(変数名)の結合について。 こんばんは。 phpでホームページを作成しておりますが どうも上手く動かないのでこちらに質問させて頂きました。 変数名$testに数字を連番で付け、 $test0 = (値1,値2,値3,・・・) $test1 = (値1,値2,値3,・・・) $test2 = (値1,値2,値3,・・・) と各変数に配列を代入したいと考えています。 そこで、for文を使用し、 for($i=0; $i<10; $++) {  $test.$i = (値1,値2,値3,・・・) } と記述た所、上手く動作せずに困っております。 二次元配列での代入は可能だと思いますが $test[0] = (値1,値2,値3,・・・) $test[1] = (値1,値2,値3,・・・) $test[2] = (値1,値2,値3,・・・) for($i=0; $i<10; $++) {  $test[$i] = (値1,値2,値3,・・・) } ※ 実験してませんけど・・・。 なるべく二次元は使わないで処理したく思いますが やはり二次元配列のが合理的でしょうか・・・。 その点も踏まえ、何方かご教授頂ければ幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 変数名に変数を使う

    Flash8を使用し、ActionScript2で書いています。 変数名に、他の変数の値を参照したいと考えています。 http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=6679&forum=6 を見て、同じようにやってみました。 すると、 animal = "cat"; catlLegs = 4; とした場合、animalの値であるcatを参照し animalLegs = 4; とする、というような単純なものはうまくいきました。 しかし、SharedObjectのdataプロパティで、属性名を変数にしようとすると うまくいきません。 dataNameという変数に、soというSharedObjectのneko属性の値を代入する場合、 so:SharedObject = SharedObject.getLocal("hoge"); animal = "neko"; dataName = _root["so.data."+animal]; としたのですが、 trace(dataName); の値はundefinedになってしまいます。 なお、 trace(_root.so.data.neko); では正しく値が表示されます。 属性名前には他の変数の値を参照できないのでしょうか。 それともSharedObjectではできないのでしょうか。 なんとか実現する方法をおしえていただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 変数にHTMLを代入する場合

    ただの文字列であれば $html = "abc"; で代入できますが、 たとえば$htmlという変数に 「 <a href="$url">$url</a> 」 という文字列を代入する場合にはどうすれば良いんでしょうか? もちろん$urlは変数名ではなく、代入された文字列を表示します。 (例:$url = "http://#/")

    • ベストアンサー
    • PHP
  • なぜ?グローバル変数に代入できません!

    お世話になります。 以下、例文です。 flag = new Array();//グローバル変数として用意 function selectCount() { for (count = 0; count <= document.form1.length - 1; count++) { if (form1.elements[count].type == "select-one") { itemflag[count] = true; alert(itemflag[count]); } } alert(itemflag[1]+'aa'); } <body onLoad = "selectCount();"> htmlの中にあるselectオブジェクトの数を調べ、 その数の分フラグを作成し、true指定するメソッドを作成したつもりです。 しかし、for文を抜けたところにalertを置き、実際に trueが代入されているか調べたところ、値はundefineになってしまいました。for文内で値が代入されていることは確認されているにも関わらず、です。 なぜでしょうか?for文でのtrue、false指定は,for文外では機能しないのでしょうか? ご存じの方いらっしゃいましたら、ご教授宜しくお願い致します。

  • EXCEL関数でシート名を変数にする。

    EXCEL関数で以下の事をしたく色々ためしたり過去の質問も 見たのですが分かりませんので教えてください。 一つのファイル内にシート1、シート2、シート3・・・のシートがあります。 シート3のA1のセルに =変数A1の式を入れたい。 変数A1の意味は、他のファイルのあるセルにシート1かシート2…を 入れておきその値でシート1のA1から値を読むかシート2…のA1から 値を読み込みかという事をしたのですがどのようにすればよいですか? 二つくらいだとif文でも出来るのですが、多数のシートを対象としているので変数で処理をしたいのですがどのようにすればよろしいでしょうか? =[別ファイル]シート4!A4!A1 のような式で、[別ファイル]シート4!A4のセルに入っているシート名で 読み込むセルのシートを変えたいと言うことです。 分かり辛い説明で申し訳ありません。

  • インスタンス名の指定に変数を使いたい

    ある一つのボタンオブジェクトで、マウスイベントによって別のムービーをコントロールしたいのですが、 同じボタンでも時々の状況によってコントロールする対象となるムービーが違うのです。 そこで、状況1では変数Aにムービー1のインスタンス名を、状況2では同じ変数Aにムービー2のインスタンス名を代入し、ボタンオブジェクトのスクリプトの中で変数Aの値をコントロール対象となるムービーのインスタンス名として使って、結果的に状況次第で操作対象を変える、ということは出来ないのでしょうか? traceアクションで見ていると変数の値は正しく変化しているのですが、ムービーのコントロールはまったくできず、困っております。 ボタンには、変数Aがnameだとすると、 on (rollOver) {   trace(name);   _root.name.gotoAndStop(2); という記述をしております。 解決策をご存知の方、どうかご回答よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • DOSバッチで変数の値を変数名に設定したいのですが、可能でしょうか?

    DOSバッチで変数の値を変数名に設定したいのですが、可能でしょうか? 例として、以下のようにVARという変数に対して、ある文字列を設定し、その文字列の名前の変数の値を別の変数に代入したいのです。 set VAR="TMP" if /i "%VAR%"=="TMP" (SET TEST=%%VAR%%) echo %TEST% ここで求めている挙動は、SET TEST=%%VAR%%の命令によって SET TEST=%TMP% → SET TEST=C:\Windows\Temp のように展開されればいいのですが、実際はSET TEST=%VAR%となってしまいます。 なにか良い方法がないでしょうか?

専門家に質問してみよう