PHPでのエコーでのカンマとピリオドの使用の違いの詳細な説明

*文
リリース: 2023-03-18 19:16:02
オリジナル
1922 人が閲覧しました

この記事では、PHP プログラミングでエコーを接続するためにカンマとドットを使用することの違いを理解するために、いくつかの具体的な例を使用します。困っている友達が参考になれば幸いです。

エコー文字列を使用する方が .connection を使用するよりも優れていると述べられています。理由については話さないで、次の 2 つの文を見てみましょう

rreee

結果は何でしょうか?

 <?php
 // 逗号比.更节省时间?
 echo &#39;1+5=&#39; . 1+5; 
 echo &#39;1+5=&#39; . 5+1;
ログイン後にコピー

echo '5+1=' . 1+5; の結果は 6 と 2 になるとしか言えません

PHP には可換プロパティがないのはなぜですか?もちろん違います ..
理由については考えないでください。上のドットをカンマに置き換えてみると、

1+5=6?
1+5=6?
——————
6?
2?
——————
6.6?
6.6?
——————
ログイン後にコピー

コンマを使用することによってのみ期待される結果が得られることがわかります。

では、なぜドットなのかうまくいきませんか? なぜカンマが機能するのでしょうか?

echo &#39;1+5=&#39; , 5+1;  //输出 1+5=6 
echo &#39;1+5=&#39; , 1+5;  //输出 1+5=6
ログイン後にコピー

前のものに括弧を追加すると、結果は同じになります。

これは、PHP が最初に文字列を連結してから、左から右の方向に加算計算を実行することを証明しています。とてもうまくいきます。最初に文字列が接続されているので、「1+55」になるはずです。では、なぜ 2 が出力されるのでしょうか。これは、文字列を に変換するメカニズムと同じです。 PHP の数値は関連しています。次の例を見てみましょう

echo (&#39;1+5&#39; . 5)+1; //输出2
ログイン後にコピー

上の例から、文字列が数値に強制的に変換される場合、PHP は文字列の先頭を検索することがわかります。

そうでない場合は 0 を返します。

先ほどの 1+55 に戻ります。この文字列は 1+55 なので、これをもとに 1 を加えます。もちろん 2 です。

推測を証明するために、検証してみましょう。

echo (int)&#39;abc1&#39;;  //输出0
echo (int)&#39;1abc&#39;; //输出1
echo (int)&#39;2abc&#39;; //输出2
echo (int)&#39;22abc&#39;; //输出22
ログイン後にコピー

結果は、私たちの推測が正しいことを証明します。

では、なぜカンマを使用すると上記の問題が解消されるのでしょうか?


マニュアルには、カンマを使用すると記載されています



つまり、複数のパラメータです。


カンマで区切ると、N個のパラメータに相当します。つまり、echoを関数として扱います。


この場合、echo は最初に各パラメータを計算し、最後に接続して出力します。したがって、カンマを使用すると、上記の問題は存在しません:)

php echo Manual

echo &#39;5+1=&#39; . 1+5; //输出10
echo &#39;5+1=&#39; . 5+1; //输出6
echo &#39;1+5=&#39; . 1+5; //输出6
echo &#39;1+5=&#39; . 5+1; //输出2
ログイン後にコピー
なぜ速いかについては、簡単に説明できます。カンマの数はエコー呼び出しの数を表しますが、 using . が最初に echo に接続されることがわかりました (当面はこのように理解できます)。

ただし、スプライシング速度はエコー速度よりも遅いです。

深く理解すると、VLDは以下のようになります。 @tywei マスターの写真です



上は下よりも CONCAT が多く、下は上よりもエコーが多くあります。


関連する推奨事項:

PHP 構文 (構文)

PHP による MVC フレームワークの学習

PHP 名前空間の使用法の詳細な説明

以上がPHPでのエコーでのカンマとピリオドの使用の違いの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート