• ベストアンサー

PHPの可変変数で数字部分を演算

PHPの可変変数で数字部分を演算 PHPの可変変数で、 $s2010 を $year = '2010'; ${'s' . $year} で表すことができましたが、 $s2011 を ${'s'. $year+1} で表すことはできませんでした。 $year2 = $year+1; ${'s'. $year2} で表せることはわかりますが、 変数名の中で+1の演算をする表記法はないのでしょうか?

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

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

演算子の優先順位が+と.は同列ですから、先に書かれた方から処理されるわけです 括弧で括ります <? $year=2010; $s2011="hoge"; print ${'s'.($year+1)}; ?>

参考URL:
http://php.net/manual/ja/language.operators.precedence.php
biwa_nya-su
質問者

お礼

遅くなりましたが、ありがとうございました! 色々試してみたつもりでしたが、シンプルに括弧で括ることを思いつかなかったようです…。 助かりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 可変変数にアロー演算子を使いたい

    例えば、 /** $hoge->appale1 は 10 $hoge->appale2 は 20 $hoge->appale3 は 30 */ このように定義されていたとします。 それを可変変数で for( $k=1; $k<=3; $k++ ){  $dynamicName = 'hoge->appele' . $k;  print "apple{$k}は" . $$dynamicName . 'です'; } のように出力したいのですが、アロー演算子を含んだ可変変数だと$hoge->apple1の数値を出力してくれません。 どのように記述すればいいでしょうか? また、可変変数で不可能であれば代案でも結構です。 お分かりになる方、ご回答お願いいたします。

    • ベストアンサー
    • PHP
  • 変数名に可変の変数を使用

    すいません、度忘れしてしまいまして…調べてみたんですがすぐにみつからなかったので宜しくお願いします。 excelの変数名にさらに変数をつけたして使用する場合どのように記述すればいいのでしょうか? hiduke1、hiduke2…という変数があり、この数字部分をforで可変にしたいのです。 よろしくお願いします。

  • PHPでクリックすると変数が10増える方法は?

    PHPでクリックすると変数が10増える方法は? PHPの全くの初心者です。 PHPのソースの中にある変数$maxの値を好きな時に10増やすため、 どこかをクリックすれば、$max+=10; が演算されるようにしたいのですが、 どういうソースを書けば、好きなタイミング(クリック時)に、 $max+=10; とすることが出来るでしょうか?

  • PHPでFORMから来る変数名を変数にするには

    PHPでFORMから来る変数名を変数にするにはどうしたらよろしいでしょうか? 可変変数など調べたのですが、値を変数にすることは出来ても変数名を変数にする事は難しいようです。 <form action="reg.php"> <input type = "text" name = "comment"> <input type = "submit"> </form> このform内のnameが動的に変わるプログラムで,reg.phpにおいて名前(今ならcomment)を変数に格納したいと思っています。 reg.php 本来なら $comment = _REQUEST['comment']; とすると思うのですが、commentが動的に変動する場合、_REQUEST内をどう書き換えれば良いかが分からず困っています $dynamic_name = _REQUEST['ここをどう書けばよいでしょうか'] このことを考えてから今はform内ですが、formでなくてもどうやって書いてよいか分からず疑問に思いました 例えば $test = 'abc'; としたとき $test_name にtestという文字列を入れたい場合(つまりabcの変数名)どうやって入れたらよいのでしょうか?(もちろんtestと言う名前は動的に変わります) 詳しい方いらっしゃいましたらご回答いただければと思います。 良いアドバイスございましたら教えてください よろしくお願いします

    • 締切済み
    • PHP
  • 連想配列の可変変数

    <?php $test[a][b][c] = "成功"; $string = 'test[a][b][c]'; echo ${$string}; ?> このコードで"成功"を出したいのですが上手くいきません 恐らく可変変数ではブラケットを文字列として扱ってしまっているのが原因だと思います どうにかうまくこれを可変変数のように上手く実現させる方法はないでしょうか?

    • ベストアンサー
    • PHP
  • PHPの四則演算について

    整数が代入される変数が5つ($a $b $c $d $e $f)あります。 整数の範囲はそれぞれの変数でバラバラです。 $aが1から10まで $bが1から200まで $cが1から50まで といった具合です。 PHPで全ての変数を四則演算して1から46の範囲に収めたいと思っています。 いったいどのような数式にしたら良いのでしょうか?

    • ベストアンサー
    • PHP
  • 配列演算子を使って変数を使いたい

    いつも、ありがとうございます。MAC OSX Flash8です。 ランダムで作った変数でムービークリップのタイムラインを使って複数のmcを複数の位置にランダムに配置しようとしています。 この時に、変数を使って階層の中のmcのインスタンス名にgo toを渡したいのですがうまくいきません。配列演算子の使い方がまだよくわかっていないためだと思います。スクリプトは以下のようです。 _root.shuffle.gotoAndStop(sfl[tim]) if (tim == 1) { _root.shuffle.shuffle+sfl[1].shiro+ichi[1].gotoAndStop(1) _root.shuffle.shuffle+sfl[1].shiro+ichi[2].gotoAndStop(nise[1]) _root.shuffle.shuffle+sfl[1].shiro+ichi[3].gotoAndStop(nise[2]) } 3種類のランダムで作った変数は、sfl[1] ichi[1] nise[1] です。 nise[1]はこのままで使えるようでした。たとえばshuffle1の1にsfl[1]をshiro1の1にichi[1]をあててランダムでできている数字を入れたいのですがどうしたらいいのでしょうか? よろしく、お願いします。

    • ベストアンサー
    • Flash
  • PHPで、自分で作った変数かどうかの見分け方

    PHPを勉強中の者です。 ちょっと一人でやっているので、頭の中がこんがらがってきたので 助けてください。 PHPで、スーパーグローバル変数など、変数でもすでにあるものが たくさんありますよね。 それと、自分で作った変数の見分け方ってありますか? サンプルプログラムなどを読んでいると、どういう意味?!と詰まることが多く、せめて、用意された変数なのか、独自に作ったものか知りたいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpの論理演算子につきまして

    はじめまして PHP初心者でございます。 複数の値と一つでも一致したら true を返したいのですが、、、 $sample の値が 01 または 02 ・・・・・30 のどれか一つと一致した場合 true とするばあい <?php if ($sample == 01 || 02 || 03 || 04 || ・・略・・|| 30) { echo "<p>条件に合っています。</p>"; } else { echo "<p>条件以外です。</p>"; } ?> このような演算子の表記でいいのでしょうか? 別にいい方法はございますでしょうか。 ご教授いただければ幸いです。

    • ベストアンサー
    • PHP
  • PHPの変数について質問させてください。

    PHPの変数について質問させてください。 以下のようなことをやりたいと思っています。 $url = "こんにちは"; $rss = fetch_rss('http://blogsearch.google.co.jp/blogsearch_feeds?hl=ja&q=「ここに変数$urlを入れたい」&lr=lang_ja&ie=utf-8&num=10&output=rss'); この上記$rssの中の「ここに変数$urlを入れたい」の部分に$urlを入れたいと思っているのですが、これはどうすれば実現できるのでしょうか? 調べ方が悪いのかなかなか解答にたどりつけなくて困っています。 どなたかPHPに詳しい方、解決法をご教授いただけると幸いです。 よろしくお願いします。

    • ベストアンサー
    • PHP