"; $a をエコーし​​ます。 $a と $b の最終結果は何なのか、またなぜこの結果になったのかを誰が教えてくれるのでしょうか? - - - 解決 - - - - - - - - - - 私が不思議に思うのは、なぜいつもそうなるのかということです"/> "; $a をエコーし​​ます。 $a と $b の最終結果は何なのか、またなぜこの結果になったのかを誰が教えてくれるのでしょうか? - - - 解決 - - - - - - - - - - 私が不思議に思うのは、なぜいつもそうなるのかということです">

ホームページ >バックエンド開発 >PHPチュートリアル >PHP の値渡しと参照渡しに関する奇妙な問題

PHP の値渡しと参照渡しに関する奇妙な問題

WBOY
WBOYオリジナル
2016-06-13 13:10:18955ブラウズ

PHP の値渡しと参照渡しに関する奇妙な問題

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$a = 1;
$b = &$a;
$b = $a++;
echo $b."<br />";
echo $a;


$a と $b の最終結果が何になるのか、そしてなぜこの結果になるのかを誰が教えてくれますか?

-----解決策---------
私が不思議に思うのは、なぜいつも自分でバグを解決しなければならないのですか
この問題は何年も前から存在していますが、誰もこのバグを報告したことがありません
具体的な理由を分析するには、次のことを確認する必要があります。ソース コードですが、見つけるのが難しすぎます

文法的には、$a++ は $a = $a + 1 と同等です
つまり、
$b = $a++;
ですと同等
$b = $a;
$a = $a + 1;

以前の参照がない場合
$b = &$a;
echo $a ;
正しい結果を取得できます 2

参照を使用すると、ルールが変わります。これは明らかに間違っています!
これは php での参照の実装におけるバグです
もちろん、彼は問題を認識しているかもしれませんが、それを解決することはできません

要するに、このバグの存在により、あなたは明示的に引用符を使用しないようにしてください

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。