ディスカッション: PHP におけるカンマとピリオドの違い

WBOY
リリース: 2016-07-25 08:57:04
オリジナル
1274 人が閲覧しました
PHP プログラミングにおけるカンマとピリオドの違いについて話し合いましょう。困っている人は参考にしてみてください。

PHP では、カンマはピリオドよりも高速です。その理由は何ですか?この記事では一つずつお伝えしていきます。

まずコードを見てください:

リーリー

例を通して、PHP のカンマとピリオドの違いを学びましょう。

コード: エコー '1+5=' . 1+5;

上記を見てください。出力結果は 1+5=6 ではなく 6 です。これは少し魔法ですか?

魔法の例: echo "1+5=" . 5+1; 5 と 1 を置き換えると、結果は 2 になります。 これはなぜですか? もちろん、PHP には可換プロパティはありません。 理由は考えずに、上のピリオドをカンマに置き換えてみましょう。 echo '1+5=' , 5+1; // 1+5=6 を出力します。 echo '1+5=' , 1+5; // 1+5=6 を出力します

カンマを使用するだけで期待どおりの結果が得られることがわかります。 では、なぜピリオドが機能しないのでしょうか? なぜカンマが機能するのでしょうか? echo ('1+5' . 5)+1; //出力 2; 前のものに括弧を追加しても、結果は同じになります。 これは、PHP が最初に文字列を連結し、次に左から右の方向に加算計算を実行することを証明します。

最初に文字列が接続されているので、「1+55」になるはずです。次に、この文字列を使用して 1 を加算します。では、なぜ 2 が出力されるのでしょうか。 これは、PHP で文字列を数値に変換するメカニズムに関連しています。

以下の例を見てください:

リーリー

上記の例からわかるように: 文字列を強制的に数値に変換すると、PHP は文字列の先頭を検索します。先頭が数値の場合は、直接 0 を返します。

先ほどの1+55に戻ります。この文字列は1+55なので、これに1を加えると当然2になります。 確認してください:

リーリー

正しいことが証明されました。 では、なぜカンマを使用すると上記の問題が解決されるのでしょうか? マニュアルには、カンマを使用すると複数のパラメータを意味すると書かれています。 つまりマルチパラメータ、つまりカンマで区切ったものがN個のパラメータに相当する、つまり関数としてechoを使用することになります。 このように、echoは各パラメータをまず計算して最後に連結して出力​​するため、カンマを使用しても上記の問題は発生しません。



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