是
$a = 1;
$b = $a;
等于写这个?
$a = $b = 1;
第二个示例是否总是将 1 作为 $a 和 $b 的值,即使 $a 和 $b 已经分配了一个值?
赋值表达式的值就是赋值的值。也就是说,"$a = 3" 的值是 3。这可以让你做一些棘手的事情:
<?php
$a = ($b = 4) + 5; // $a is equal to 9 now, and $b has been set to 4.
?>
因此,要回答您的问题,分配的结果$b = 1
是 1,因此,$a = $b = 1
会将$b = 1
-- 即 1-- 的值分配给$a
。
话虽如此,滥用它会导致代码难以阅读。
是的,PHP 将1
输入$b
然后输入$b
值$a
,即1
。
没有歧义,因为第一个任务是$b = 1
,下一个是$a = $b
。