脚本宝典收集整理的这篇文章主要介绍了为什么这两个后期增加的PHP给出了相同的答案?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<?PHP $a = 1; echo ($a+$a++); // 3 ?>
//答案是3,但由于后期增加,答案应为2
这是另一个代码,它给出了相同的答案!为什么?
<?PHP $a = 1; echo ($a+$a+$a++); ?>
//答案仍然是3 !!!
那么归结为什么,PHP没有明确定义这些类型的语句的最终结果,甚至可能在PHP版本之间发生变化.我们称之为未定义的行为,您不应该依赖它.
您可能能够在源中的某处找到确切原因,为什么选择此顺序,但可能没有任何逻辑.
您的两个示例正在评估如下:
<?PHP $a = 1; echo ($a + $a++); // 3 ?>
真的变成了:
<?PHP $a = 1; $b = $a++; echo ($a + $b); // a = 2,b = 1 ?>
你的第二个例子:
<?PHP $a = 1; echo ($a + $a + $a++); // 3 ?>
变为:
<?PHP $a = 1; $b = $a + $a; $a++; echo $b + $a; // 3 ?>
我希望这是有道理的.你是对的,这背后没有硬性逻辑.
以上是脚本宝典为你收集整理的为什么这两个后期增加的PHP给出了相同的答案?全部内容,希望文章能够帮你解决为什么这两个后期增加的PHP给出了相同的答案?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。