是
$a = 1;
$b = $a;
等於寫這個?
$a = $b = 1;
將在第二個例子中始終把1的值都$ a和$ b,即使$ a和$ b已經有值分配給他們?
是
$a = 1;
$b = $a;
等於寫這個?
$a = $b = 1;
將在第二個例子中始終把1的值都$ a和$ b,即使$ a和$ b已經有值分配給他們?
是的,PHP會將1
放入$b
,然後將$b
的值放入$a
,即1
。
第一項任務是$b = 1
,下一項是$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
。
這就是說,濫用這可能會導致難以閱讀的代碼。
是的,它會 –
2013-02-28 16:01:26
多個分配(與額外的操作員)不應該在可維護的代碼。 – 2013-02-28 16:03:14
@Mike B,請詳細說明,因爲我們在討論初始化語句時沒有看到問題,如示例中所示。 – 2013-02-28 16:04:28