PHP プログラミングにおけるカンマとドット接続を使用したエコーの違い、echo comma_PHP チュートリアル

WBOY
リリース: 2016-07-12 08:55:59
オリジナル
836 人が閲覧しました

PHPプログラミングにおけるカンマとドット接続を使用したエコー、エコーカンマの違い

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

リーリー

結果はどうなりましたか?

リーリー

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

これはなぜですか? PHP には可換プロパティがありません。 理由は考えずに、上のピリオドをカンマに置き換えてみましょう。

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

では、なぜピリオドが機能しないのでしょうか?

リーリー

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

PHP が最初に文字列を連結し、次に加算計算を左から右に実行することを証明します。

それは良いです。最初に文字列が接続されているので、「1+55」になるはずです。次に、この文字列を使用して 1 を追加します。では、なぜ 2 が出力されるのでしょうか?

これは、PHP で文字列を数値に変換するメカニズムに関連しています。次の例を見てみましょう。
リーリー

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

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

先ほどの1+55に戻ります。この文字列は1+55なので、これに1を足すと当然2になります。 私たちの推測を証明するために、検証してみましょう

リーリー
結果は私たちの仮定が正しかったことを証明しました。

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



マニュアルには、カンマの使用は複数のパラメータを意味すると記載されています。


つまりマルチパラメータです

カンマで区切られたものはN個のパラメータに相当します。つまり、echoを関数として使用します。

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


phpエコーマニュアル

リーリー

なぜ速いかというと、カンマの数がエコー呼び出しの回数を表しているのですが、最初に . を使うとわかりやすいです(今のところはこのように理解できます)。
ただし、スプライシング速度はエコー速度よりも遅くなります。

VLDを深く理解すると以下のようになります。大神@tyweiの写真です


上部には下部より CONCAT が 1 つ多く、下部には上部よりエコーが 1 つ多くあります。


興味があるかもしれない記事:

php echo出力文字列関数の詳細説明

PHP学習出力文字列(echo、print、printf、print_r、var_dump)

php出力echo、print、print_r、printf、sprintfの比較var_dumpとvar_dumpの違い

    PHPのecho、print、printf、sprintf関数の違いと使い方を詳しく解説
  • PHP関数を再帰的に使う方法とreturnとechoの違い
  • echoとprint inの違いPHP
  • PHPのecho、print_rとvar_dumpの違いの分析
  • php
  • のprint()、print_r()、echo()の違いの詳しい説明
  • http://www.bkjia.com/PHPjc/1114241.html
  • www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/1114241.html技術記事 PHP プログラミングでの echo の接続にカンマとドットを使用することの違い echo カンマでは、 を使用して接続するよりもエコー文字列を使用する方が優れていると述べています。理由については先に述べませんが、次の 2 つの文を見てみましょう。 php // カンマは... よりも経済的です。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート