コードをコピーします コードは次のとおりです:
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.htmlwww.bkjia.com
true
http://www.bkjia.com/PHPjc/328078.html
技術記事
次のようにコードをコピーします: echo 'abc'.'def'; //文字列を接続するにはドットを使用します echo 'abc','def'; //文字列を明確に理解するために以下に例を示します。エリア...