• ベストアンサー

phpでこのコードで.ドットを入れる意味はなんです

phpでこのコードで.ドットを入れる意味はなんですか? <?php $num = 1; $num01 = 2; $num_01 = 3; echo $num."\n"; echo $num01."\n"; echo $num_01."\n";

  • PHP
  • 回答数4
  • ありがとう数4

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

  • ベストアンサー
  • Kaneyan-R
  • ベストアンサー率42% (1248/2909)
回答No.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の値」と「改行文字」の“二つの文字列”を並べて出力します。 改行文字は「表示されない文字」なので、今回の場合は見た目はどちらも同じになりますが、出力されているのが「文字列一つ」か「文字列二つ」かの違いがあります。 「見た目同じならどっちでも良いじゃないか」と思うかも知れませんが、「見た目同じでも意味が違う」ことを理解しておかないと、その内ドツボにはまって抜け出せなくなりますよ。  

okwaveokw
質問者

お礼

現在プロゲートで勉強しているんですが、以前Pythonの基礎コースを勉強していて 関数と変数の違いの説明で、Price = 200 のようにイコールがあるものが変数という覚え方をしてしまったので、phpでは$をつけることで変数という決まりがあるが、変数ではないと理解していました。

その他の回答 (3)

  • Kaneyan-R
  • ベストアンサー率42% (1248/2909)
回答No.3

>ドットがないと何が間違っていることになるんでしょうか  echo $num"\n"; こう書いたのですか? Syntax Errorもそうだけど、それ以前に変数「num"\n"」なんて存在しないでしょう。 echoの書き方が間違ってます。 仮に二つの文字列を指定するなら  echo $num,"\n"; となります。 echo $num."\n"; の場合、出力されるのは「変数numの値+改行」と言う一つの文字列です。 echo $num,"\n"; の場合、出力されるのは「変数numの値」「改行」と言う二つの文字列です。

okwaveokw
質問者

お礼

ありがとうございます 変数は price = 200みたいに=イコールがなくても変数になるんですね? ご教示の通り、ドットをカンマに変えたら同じように1,2、3が出力されました echo $num,"\n"; echo $num01,"\n"; echo $num_01,"\n"; 同じものが出力されました

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

> .ドットをはずしたらエラーになりました。 なぜでしょうか? 文法的にでたらめなものを書くと、文法エラー(Syntax Error)になります。実行するためには、文法に沿って書く必要があります。

okwaveokw
質問者

お礼

ドットがないと何が間違っていることになるんでしょうか?

  • Kaneyan-R
  • ベストアンサー率42% (1248/2909)
回答No.1

「.」は文字列演算子で、  $num."\n"  は、考え方としては、  $num + "\n" と同じ意味です。変数numの値に改行文字(\n)を追加と言う意味になります。

okwaveokw
質問者

お礼

ありがとうございます .ドットをはずしたらエラーになりました。 なぜでしょうか? Parse error: syntax error, unexpected double-quoted string "\n", expecting "," or ";"

関連するQ&A

  • php 無名関数

    phpファイル phpファイルで凄い初歩的な質問なのですが 関数へアクセスするメソッドは何かお約束があるのですか? ソースコードなのですが <?php /* $fn = function($num){ $num2 = $num * 3; echo "{$num}x3 = {$num2}\n"; }; */ $fn(1); $fn(15); $fn = function($a){ $b = $a + 2; echo $b; }; ?> 上のコメントアウト欄を真似て自分で作って見たのですが上手く動作しなくて... どなたかわかる方がいらっしゃったら回答願います。(イージーミスだったらすみませんm(_ _)m)

    • ベストアンサー
    • PHP
  • phpでこの"\n"はどういう意味ですか?

    phpでこの"\n"はどういう意味ですか? <?php for($i = 0; $i <= 4; $i++){ echo $i."\n"; }

    • ベストアンサー
    • PHP
  • phpで以下のコードが次の認識であっているかどうか

    phpで以下のコードが次の認識であっているかどうかおしえてください 1番が正しいコードで2番が私が考えたコードです なぜ2番だとエラーになるんでしょうか? 1番 <?php function say_hello($greeting) { echo $greeting."\n"; }; say_hello("Good morning"); 2番 <?php function say_hello() { echo say_hello()."\n"; }; say_hello("Good morning"); php

    • ベストアンサー
    • PHP
  • phpのコードでこの2つは何が違うんでしょうか?

    phpのコードでこの2つは何が違うんでしょうか? 問題文が画像に書いてあるもので、上のコードは私が考えたもので、下のコードは画像の問題の答えです 私の解いた答え <?php $age = 10; if(10 <= $age < 20){ echo("10代"); }else if(20 <= $age < 30){ echo("20代"); }else if(30 <= $age < 40){ echo("30代"); }else{ echo("それ以外"); } 画像の問題文の正解 <?php $age = 43; if($age >= 10 && $age < 20){ echo("10代"); }else if($age >= 20 && $age < 30){ echo("20代"); }else if($age >= 30 && $age < 40){ echo("30代"); }else{ echo("それ以外"); }

    • ベストアンサー
    • PHP
  • phpのコードにprintを書いているコードを見た

    phpのコードにprintを書いているコードを見たんですが phpにもPythonみたいにprint関数があるんですか? echoもありますよね? どうやって使い分けているんでしょうか?

    • ベストアンサー
    • PHP
  • php

    while($row = mysql_fetch_array($res,MYSQL_NUM)) { echo $row[1]."\n"; ここの文字コードを調べたいのですがどう書いたらいいでしょうか? 又参考になるサイトがありましたらお願いします

  •  %php stringcast.php 100

    <?php // stringcast.php if (!isset($argv[1])) { exit; } $num = $argv[1]; if ($num == 100) { echo "num is 100", PHP_EOL; } else { echo "num is not 100",PHP_EOL; } このプログラムを %php stringcast.php 100のように実行すると、引数の100は PHPには文字列型として渡されます。・・・  以上参考書にあります。  作業の流れが分かりません。  %php stringcast.php 100とは!何のことなのでしょうか!?  以上宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPのコードがブラウザに剥き出しで表示される。

    先日、VertrigoをインストールしたWindows7でPHPの勉強を始めた初心者です。 教則本が届いたので、さっそく本に書いてある通りにコードを入力していたのですが、最初は正しく表示されたものが下記のようにブラウザにphpのコードが剥き出しに表示されるようになりました。 ↓表示結果 性別は? ' .$male. ' ' . "\n"; echo ' ' .$female.''."\n"; ?> 調べてみても原因がわかりません。.iniの設定も本に書いてある通り作業したのですが…。 何が原因なのでしょうか? 一応、入力したコードの一部も載せておきます。 <form action="question2.php" method="post"> <dl class="clearfix"> <dt>性別は?</dt> <dd> <?php $male = '男性'; $female= '女性'; $number = array('1','2'); echo ' <label><input type="radio"name="gender" value="'.$number[0].'" />' .$male. '</label> ' . "\n"; echo ' <label><input type="radio" name="gender" value="'.$number[1].'"/>' .$female.'</label>'."\n"; ?> 是非回答お願いします。

    • 締切済み
    • PHP
  • phpで文字列を連結させるためのドットは 式ですか

    phpで文字列を連結させるためのドットは 式ですか? 言語構造ですか? なんと呼ばれるものですか? echo $a . $b;

    • ベストアンサー
    • PHP
  • PHP != 1の意味を教えてください

    お世話になっております。 以下の「!= 1」の意味を教えてくださいますか? 宜しくお願いします。 <?php while (rand(1, 10) != 1) { echo "■"; } ?>

    • ベストアンサー
    • PHP

専門家に質問してみよう