PHPを勉強中わからない事が出てきた時用のメモです。echoで連結する際に.(ドット)と,(カンマ)の違いについて
はじめに
PHPの勉強中にechoで出力時に文字列を連結する際に「.(ドット)」とpaizaでは習ったのだが、他のサイトを見ると「,(カンマ)」で書いている人が多かったので、違いを知りたくて調べてみました。
注意事項
参考サイトは消えている可能性があります。
.(ドット)と,(カンマ)の違いについて
$a = "私の"; $b = "名前は"; $c = "hogehoge"; $d = "です"; echo $a.$b.$c.$d; echo $a,$b,$c,$d;
この2つは出力すると「私の名前はhogehogeです」と表示されます。
違いは出力する流れが違うみたいです。
https://qiita.com/trashtoy/items/5c76f3cd8cb636ac3c72
このサイトが一番わかりやすく、素人にも理解できました。
.(ドット)の場合
$a = "私の"; $b = "名前は"; $c = "hogehoge"; $d = "です"; echo $a.$b.$c.$d;
- 「$a、$b、$c、$d」それぞれの内容を取得する(「私の」、「名前は」、「hogehoge」、「です」の4つを取得する)
- 1で出力した?内容を連結させて新しい文字列を作る(上の文章を繋げて「私の名前はhogehogeです」と言う文字を作る)
- 2で作った文字列を出力する(「私の名前はhogehogeです」を出力する)
こんな感じです。
,(カンマ)の場合
$a = "私の"; $b = "名前は"; $c = "hogehoge"; $d = "です"; echo $a,$b,$c,$d;
- $aを出力する
- $bを出力する
- $cを出力する
- $dを出力する
とこんな感じです。
結果どちらを使うべきか
,(カンマ)を使う方が一般的みたいです。
.(ドット)の場合、デメリットとしては連結させる文字列が1000や10000など多い場合は、それぞれの内容を出力して繋げて、んでもう一回出力させてってなるのに比べて,(カンマ)の場合は「それぞれの内容を出力する」だけみたいです。
なるほど勉強になった。paizaでは.(ドット)で説明しているが、これからは,(カンマ)でやっていこう。
さいごに
実際にやらないとわからない
自分なりに色々と調べたのですが、PHPの勉強中や素人にわかりやすく説明しているサイトはほとんど見つかりませんでした。
とりあえず今はPHPの環境を「【画像あり】XAMPPの誰でもわかるインストール方法」で整えているので表示させながら勉強しています。
.(ドット)と,(カンマ)の違いは理解できたので、次はechoとprintの違いを勉強しなければいけない