我发现了这个奇怪的行为:
$a = $b + $c;
echo $a; //prints 0
此时打印 0:
$a = $b;
echo $a; //doesn't print anything
不打印任何东西。
是否可以用有意义的方式解释?
最佳答案
这是类型杂耍的副作用。 undefined variable $b
和 $c
等同于 null
。在 PHP 中,$a = null + null
等价于 $a = (int) null + (int) null
与 $a = 0 相同+ 0
。这就是 $a
等于 0 的原因。
因此 $a = $b
与 $a = null
相同,所以当您 echo $a
时,什么都没有打印出来。
这是解释类型杂耍的不错引用 - http://php.net/manual/en/language.types.type-juggling.php
关于php - 为什么回显带有未设置变量的表达式会打印 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35066842/