• ベストアンサー

phpの変数の初歩

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

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

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

まずhtmlで処理するなら「<」は「&lt;」と書くように心がけたいですね で、不注意や特殊なケースでのエラーをさけたいなら 変数は文字列のかたまりから出すことです。 echo $hoge."&lt;100"; あとはsprintfなどフォーマットをつかった表示をするとか echo sprintf("%d&lt;100",$hoge); どうしても塊で処理したいなら「{}」で囲むことです。 echo "{$hoge}&lt;100"; もちろん、自分だけしか使わないファイルで、自分でチェックして 自分のちからで解決できるなら echo "$hoge&lt;100"; でも問題ありません

flash0
質問者

お礼

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

その他の回答 (1)

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

phpのパーサが変数をキチンと認識できれば問題ありません。 逆に言えば、英数字など変数名に使える文字(一部の記号含む)が続く場合には、どこまでが変数名なのかを波括弧で明示しないといけません。 http://www.php.net/manual/ja/language.variables.basics.php http://www.php.net/manual/ja/language.types.string.php#language.types.string.parsing 二重引用符内に変数名を書いたりせず、単引用符の文字列リテラルと変数名を結合演算子(.)で繋ぐ方が「どうパースされるか」を意識しなくていいので楽ですし速度的にも(余計なパース処理がないので)有利です。 >日本語の場合だけですか? 「日本語」の意味がちょっとわかりません。変数名には日本語は使えませんし、文字列リテラルとしての日本語はasciiと同じ扱いです。

flash0
質問者

補足

お答えいただきありがとうございます 日本語は変数の次に来る文字のことです やってみたら半角英数字と日本語ではカッコが必要でした 変数の次が記号の場合はまちまちで、表示できる記号とできない記号がありました >phpのパーサが変数をキチンと認識できれば問題ありません 表示できている記号は、カッコを省略しても大丈夫ってことですか?

関連するQ&A