web-dev-qa-db-ja.com

エコーとリターンを連結するときのピリオドとカンマの違いは?

私はこれがうまくいくことを発見しました:

echo $value , " contiue";

しかし、これはしません:

return $value , " contiue";

「。」両方で動作します。

ここでピリオドとコンマの違いは何ですか?

54
omg

return は単一の式のみを許可します。しかし echo では、各式がカンマで区切られた式のリストを使用できます。ただし、echoは関数ではなく特別な言語構成要素であるため、式リストを括弧で囲むことは不正です。

66
Gumbo

また、コンストラクトとしてのechoは、ドットよりもコンマで高速であることに注意する必要があります。

つまり、400万回キャラクターに参加すると、次のようになります。

echo $ str1、$ str2、$ str3;

2.08

$ str1をエコーし​​ます。 $ str2。 $ str3;

.48

上記のように、ほぼ半分の時間がかかります。

これは、PHPドット付きは文字列firstを結合してから出力するためですが、コンマを使用すると次々に出力されます。

分数について話していますが、まだです。

元のソース

29
Mr.Web

.は、2つの文字列を組み合わせるためのPHPの連結演算子です。コンマは、エコーする複数の入力に使用できます。

19
GSto

ドット(.)は、変数または文字列を連結するためのものです。これが、2つの文字列を連結しながらエコーするときに機能し、メソッドで文字列の連結を返すときに機能する理由です。ただし、コンマは連結されないため、returnステートメントは機能しません。

echoは、複数の式を使用できる言語構造であり、これがコンマが機能する理由です。

void echo ( string $arg1  [, string $...  ] )

ドットを使用して連結する

10

echoは言語構成要素(not関数)であり、複数の引数を取ることができるため、,機能します。コンマを使用すると、わずかに均等になります(ただし、数ナノ秒のみ、心配する必要はありません)。

.は文字列の連結演算子(接着剤)です

7
knittl

echo は実際には関数であり(実際にはそうではありませんが、引数の場合としましょう)、任意の数のパラメーターを受け取り、それらを連結します。

returnは関数ではなくキーワードですが、関数に値を返すように指示し、,をある種の演算子として解釈しようとしています。 returnステートメントを使用する場合は、.を連結演算子として使用する必要があります。

5
Kibbee