php语法$ a = $ b = 1;

时间:2013-02-28 15:59:44

标签: php syntax

$a = 1;
$b = $a;

等于写这个?

$a = $b = 1;

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

2 个答案:

答案 0 :(得分:5)

Quoting the documentation:

  

赋值表达式的值是指定的值。那是,   “$ 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