ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルでのカンマとピリオドの違いの詳細な分析

PHP_PHP チュートリアルでのカンマとピリオドの違いの詳細な分析

WBOY
WBOYオリジナル
2016-07-21 15:00:27770ブラウズ

コードをコピーします コードは次のとおりです:

echo 'abc'.'def'; // 文字列を接続するにはドットを使用します
echo 'abc','def' // 文字列を接続するにはコンマを使用します

そこで、以前の違いを理解するためにいくつかの例を示します
コードをコピーします echo '1+5='

を見てください。上記の出力結果は、1+5=6 ではなく 6... ちょっと魔法のようですか?


コードをコピーしてください。コードは次のとおりです:
echo "1+5= " . 5+1; // 2 の出力は非常に奇妙です。結果は 2 になります。
これはなぜですか? PHP では追加はありませんか? もちろん合法ではありません...
上のピリオドをカンマに置き換えてみましょう。


コード

コードは次のとおりです:
echo '1+5=' , 5+1; //1+5=6 を出力します echo '1+5=' , 1+5; //1+5 を出力します5=6
ご覧のとおり、カンマを使用することによってのみ、期待される結果 Result を得ることができます。
では、なぜドットは機能しないのでしょうか?なぜカンマは機能するのでしょうか?


コードをコピーします

コードは次のとおりです。 follow:
echo ('1+5' . 5)+1; //出力 2 前のものに括弧を追加すると、同じ結果が得られます。これは、PHP が最初に文字列を連結し、次に文字列を連結することを示しています。加算計算を実行します。
最初の文字列が結合されているので、この文字列に 1 を加算すると
となります。これは、PHP で文字列を数値に変換するメカニズムに関連しています。次の例を見てみましょう


コードをコピーします。 コードは次のとおりです。


echo (int)'abc1'; // 0 を出力します。
echo (int)'1abc'; // 出力 1 echo (int)'2abc' ; // 出力 2 上の例から、文字列を数値に強制的に変換する場合、PHP は文字列の先頭を検索します。数値で始まっている場合は変換します。そうでない場合は、0 を返します。
先ほどの 1+55 に戻ります。この文字列は 1+55 なので、強制型変換後は 1 になるはずです。これをもとに 1 を足します。もちろん 2 です。
推測を証明するために、検証してみましょう。



コードをコピーします

コードは次のとおりです:


echo '5+1=' . 1+5; // 10 を出力します
echo '5+1=' . 5+1; // 6 を出力します
'1+5=' 。 1+5; //出力 6 echo '1+5=' . 5+1; //出力 2 では、なぜカンマを使用すると上記の問題が発生しないのでしょうか。 ?

マニュアルにはカンマを使うということは複数のパラメータを意味すると書いてあります

つまり、カンマで区切った
がN個のパラメータに相当するということです。
この場合、echo は最初に各パラメータを計算し、最後にそれを接続して出力するため、カンマを使用することで上記の問題を解決します



http://www.bkjia.com/PHPjc/328078.html
www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/328078.html
技術記事

次のようにコードをコピーします: echo 'abc'.'def'; //文字列を接続するにはドットを使用します echo 'abc','def'; //文字列を明確に理解するために以下に例を示します。エリア...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。