- ベストアンサー
ダブルクウォートやヒアドキュメント内での変数や配列を使った計算の表記方法?
素人の素朴な疑問なんですがよろしいでしょうか? echo等で出力する "" (ダブルクウォーテション)やヒアドキュメントの「中で」 変数や配列を使った計算をすることってできますか?たとえば $mynum = 5; echo "最初の計算結果は {$mynum}+100 です。"; //105 $myarray = array(8,13,25); echo "2番目の計算結果は {$myarray[2]}+100 です。"; //125 のようなイメージなんですが・・・。 素直に""の外に出して計算し、ピリオドで結合するとか、 echoより前で変数や配列の計算を済ませておくというのが筋かと思うのですが、 たとえばめったに条件を満たさないif文中のechoの中だけで、一回限りで使う時など、 ""の外に出したり、元の変数を変化させたり、新しい変数を設けたりしないで済んだらなぁ~、 と思いまして。できなければできないで何の問題もないんですが、 よろしければご教授ください。m(_ _)m
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
echo "最初の計算結果は" . ($mynum + 100) . "です。"; この記法でやったほうがいいです。 特に、あまり起こらない演算なのであればこそ、後で見たときに何が書かれているかが明快な記述のほうが良いと思います。 そして、PHPでは質問のような記法はサポートされていません。 http://php.morva.net/manual/ja/language.types.string.php#language.types.string.parsing こちらが参考になります。
お礼
hogehoge78さん、さっそくのご回答ありがとうございます。 やはり素直に""の外に出して計算し、ピリオドでの結合がベスト、 ヒアドキュメントに対しては、事前に計算して変数や配列のみの形で使うしかない、 というふうに理解しました。(違ってたらすいません。(^^;) おかげさまでだいぶスッキリしてきました。ありがとうございました。