dポイントプレゼントキャンペーン実施中!

phpの変数について基本的な質問です
変数の後ろに半角空白を入れないといけないのは日本語の場合だけですか?
記号や数字の場合は空白はいらないのですか?
カッコでくくるのがめんどいので問題ないなら省略したいのです

$hoge= 50;

echo "$hoge<100";

A 回答 (2件)

まずhtmlで処理するなら「<」は「&lt;」と書くように心がけたいですね



で、不注意や特殊なケースでのエラーをさけたいなら
変数は文字列のかたまりから出すことです。

echo $hoge."&lt;100";

あとはsprintfなどフォーマットをつかった表示をするとか

echo sprintf("%d&lt;100",$hoge);

どうしても塊で処理したいなら「{}」で囲むことです。

echo "{$hoge}&lt;100";

もちろん、自分だけしか使わないファイルで、自分でチェックして
自分のちからで解決できるなら

echo "$hoge&lt;100";

でも問題ありません
    • good
    • 0
この回答へのお礼

やっぱり、省略はしないほうがよさそうですね
ありがとうございました

お礼日時:2013/04/09 21:59

phpのパーサが変数をキチンと認識できれば問題ありません。



逆に言えば、英数字など変数名に使える文字(一部の記号含む)が続く場合には、どこまでが変数名なのかを波括弧で明示しないといけません。

http://www.php.net/manual/ja/language.variables. …
http://www.php.net/manual/ja/language.types.stri …

二重引用符内に変数名を書いたりせず、単引用符の文字列リテラルと変数名を結合演算子(.)で繋ぐ方が「どうパースされるか」を意識しなくていいので楽ですし速度的にも(余計なパース処理がないので)有利です。


>日本語の場合だけですか?

「日本語」の意味がちょっとわかりません。変数名には日本語は使えませんし、文字列リテラルとしての日本語はasciiと同じ扱いです。

この回答への補足

お答えいただきありがとうございます
日本語は変数の次に来る文字のことです
やってみたら半角英数字と日本語ではカッコが必要でした
変数の次が記号の場合はまちまちで、表示できる記号とできない記号がありました

>phpのパーサが変数をキチンと認識できれば問題ありません

表示できている記号は、カッコを省略しても大丈夫ってことですか?

補足日時:2013/04/08 22:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!