ホームページ >バックエンド開発 >PHPチュートリアル >PHP プログラミングでエコーを接続するためにカンマとドットを使用することの違い
エコー文字列を使用する方が .connection を使用するよりも優れていると述べられています。理由については先に述べませんが、次の 2 つの文を見てみましょう
<p>結果は何でしょうか? <br></p><p></p><pre class="brush:php;toolbar:false">1+5=6? 1+5=6? —————— 6? 2? —————— 6.6? 6.6? ——————
echo '5+1=' . 1+5; の結果は 6 と 2 になるとしか言えません
これには交換法則がないのはなぜですか? PHP では? もちろん違います。
理由については考えないでください。上のピリオドをカンマに置き換えてみると、
echo '1+5=' , 5+1; //输出 1+5=6 echo '1+5=' , 1+5; //输出 1+5=6
カンマを使用することによってのみ期待される結果が得られることがわかります。
それでは、なぜピリオドが機能しないのでしょうか? なぜカンマは機能するのでしょうか?
echo ('1+5' . 5)+1; //输出2
前のものに括弧を追加すると、結果は同じになります。
PHP が最初に文字列を連結し、次に文字列を連結することを証明してください。左から右の方向に進みます。
文字列が最初に接続されているので、この文字列を使用して 1 を加算します。出力 2?
これは、PHP で文字列を数値に変換するメカニズムに関連しています。次の例を見てみましょう
echo (int)'abc1'; //输出0 echo (int)'1abc'; //输出1 echo (int)'2abc'; //输出2 echo (int)'22abc'; //输出22
上記の例から、文字列が強制的に変換されることがわかります。 PHP は文字列の先頭を検索します。先頭が数値の場合は、0 を返します。
この文字列は 1 なので、先ほどの 1+55 に戻ります。 +55. したがって、強制型変換後は 1 になるはずです。これに 1 を加えると、当然 2 になります。
echo '5+1=' . 1+5; //输出10 echo '5+1=' . 5+1; //输出6 echo '1+5=' . 1+5; //输出6 echo '1+5=' . 5+1; //输出2
この結果は、私たちの推測が正しいです。
それでは、なぜカンマを使用すると上記の問題が発生しないのでしょうか?
マニュアルには、「カンマを使用すると複数のパラメータを意味します」と書かれています。
つまり、複数のパラメータです。つまり、echo を関数として使用することになります。この場合、echo は最初に各パラメータを計算してから、それを結合して出力します。存在しません:)
php echoマニュアル
<p><br>なぜ速いかというと、カンマの数がエコー呼び出しの数を表していますが、最初に . を使用すると簡単に理解できます。現時点ではこのように理解できます)。 </p>ただし、スプライシング速度はエコー速度よりも遅いです。 <p>深く理解すると、VLDは以下のようになります。 @tywei の写真です </p><p></p><p></p><p> 上は下よりも CONCAT が多く、下は上よりもエコーが多くなっています。 <br> <br> 上記では、PHP プログラミングでエコーを接続するためにカンマとドットを使用する場合の違いを、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。 </p> <p> <img src="http://image.codes51.com/Article/image/20160328/20160328172441_4817.jpg" baiduimageplusstatus="2" baiduimageplusrect="null" alt="PHP プログラミングでエコーを接続するためにカンマとドットを使用することの違い"></p>