时
$a = 1;
$b = $a;
等于写这个?
$a = $b = 1;
第二个示例是否总是将1作为$ a和$ b的值,即使$ a和$ b已经分配了值?
答案 0 :(得分: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
。
据说,滥用此功能会导致代码难以阅读。
答案 1 :(得分:3)
是的,PHP会将1
放入$b
,然后将$b
值放入$a
,即1
。
没有歧义,因为第一个作业是$b = 1
,下一个是$a = $b
。