3

$a = 1;
$b = $a;

等于写这个?

$a = $b = 1;

第二个示例是否总是将 1 作为 $a 和 $b 的值,即使 $a 和 $b 已经分配了一个值?

4

2 回答 2

5

引用文档:

赋值表达式的值就是赋值的值。也就是说,"$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

话虽如此,滥用它会导致代码难以阅读。

于 2013-02-28T16:00:58.270 回答
4

是的,PHP 将1输入$b然后输入$b$a,即1

没有歧义,因为第一个任务是$b = 1,下一个是$a = $b

于 2013-02-28T16:01:24.197 回答