- ベストアンサー
phpでこのコードで.ドットを入れる意味はなんです
phpでこのコードで.ドットを入れる意味はなんですか? <?php $num = 1; $num01 = 2; $num_01 = 3; echo $num."\n"; echo $num01."\n"; echo $num_01."\n";
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>price = 200みたいに=イコールがなくても変数になるんですね? はい? ちゃんと $num = 1; $num01 = 2; $num_01 = 3; 変数「num」「num01」「num_01」と、3つ定義してありますよ。 何度も繰り返しますが、 echo $num."\n"; とは「変数numの値に改行文字を追加して出力する」と言う意味です。 変数numの値は「$num = 1;」と定義されているので、出力されるのは「1+改行」です。 同様に変数num01は「2+改行」、num_01は「3+改行」が出力されます。 >ご教示の通り、ドットをカンマに変えたら同じように1,2、3が出力されました はい。見た目は同じです。 ですが、過程が違います。 前の回答で書いた通り、 echo $num."\n"; では「変数numの値+改行文字」と言う“一つの文字列”を出力します。一方 echo $num,"\n"; では「変数numの値」と「改行文字」の“二つの文字列”を並べて出力します。 改行文字は「表示されない文字」なので、今回の場合は見た目はどちらも同じになりますが、出力されているのが「文字列一つ」か「文字列二つ」かの違いがあります。 「見た目同じならどっちでも良いじゃないか」と思うかも知れませんが、「見た目同じでも意味が違う」ことを理解しておかないと、その内ドツボにはまって抜け出せなくなりますよ。
その他の回答 (3)
- Kaneyan-R
- ベストアンサー率42% (1369/3192)
>ドットがないと何が間違っていることになるんでしょうか echo $num"\n"; こう書いたのですか? Syntax Errorもそうだけど、それ以前に変数「num"\n"」なんて存在しないでしょう。 echoの書き方が間違ってます。 仮に二つの文字列を指定するなら echo $num,"\n"; となります。 echo $num."\n"; の場合、出力されるのは「変数numの値+改行」と言う一つの文字列です。 echo $num,"\n"; の場合、出力されるのは「変数numの値」「改行」と言う二つの文字列です。
お礼
ありがとうございます 変数は price = 200みたいに=イコールがなくても変数になるんですね? ご教示の通り、ドットをカンマに変えたら同じように1,2、3が出力されました echo $num,"\n"; echo $num01,"\n"; echo $num_01,"\n"; 同じものが出力されました
- notnot
- ベストアンサー率47% (4900/10361)
> .ドットをはずしたらエラーになりました。 なぜでしょうか? 文法的にでたらめなものを書くと、文法エラー(Syntax Error)になります。実行するためには、文法に沿って書く必要があります。
お礼
ドットがないと何が間違っていることになるんでしょうか?
- Kaneyan-R
- ベストアンサー率42% (1369/3192)
「.」は文字列演算子で、 $num."\n" は、考え方としては、 $num + "\n" と同じ意味です。変数numの値に改行文字(\n)を追加と言う意味になります。
お礼
ありがとうございます .ドットをはずしたらエラーになりました。 なぜでしょうか? Parse error: syntax error, unexpected double-quoted string "\n", expecting "," or ";"
お礼
現在プロゲートで勉強しているんですが、以前Pythonの基礎コースを勉強していて 関数と変数の違いの説明で、Price = 200 のようにイコールがあるものが変数という覚え方をしてしまったので、phpでは$をつけることで変数という決まりがあるが、変数ではないと理解していました。