为什么人们会使用“$a=$b=2;”在PHP中?
为什么人们会使用这种格式?这与为什么人们会使用“$a=$b=2;”在PHP中?,php,Php,为什么人们会使用这种格式?这与$a=2有什么不同$b=2?无需重新键入2。如果2在某个点上更改为3,则此选项非常有用。无。它们完全相同,这只是个人喜好或编码风格的问题。另外,如果您重新定义$b,$a将不会改变,这是意料之中的。这只是将两个变量设置为2的较短方法。功能上?没有什么。它们都做同样的事情“将变量$a和$b设置为2”。但是,它确实可以与您的程序员同事交流一些东西,而且在某些情况下它会更快/更容易。比如说 for($i = $j = 0; $i < 5; $i++, $j--) ec
$a=2有什么不同$b=2代码>?无需重新键入2
。如果2
在某个点上更改为3
,则此选项非常有用。无。它们完全相同,这只是个人喜好或编码风格的问题。另外,如果您重新定义$b
,$a
将不会改变,这是意料之中的。这只是将两个变量设置为2的较短方法。功能上?没有什么。它们都做同样的事情“将变量$a和$b设置为2”。但是,它确实可以与您的程序员同事交流一些东西,而且在某些情况下它会更快/更容易。比如说
for($i = $j = 0; $i < 5; $i++, $j--) echo "$i $j \n";
当然,如果您需要$i和$j来初始化为更有用的东西,比如说,floor(count($myArr)/2)
,这样也很有用
还有其他类似的用途:
$j = ( $i = 1 ) - 1; // $i = 1, $j = 0;
它是一种较短的编码样式,在各种元素(示例中的$a
、$b
和2
)明显较长时特别有用。尤其是RHS很长的时候
例如:
$currentElement = $firstElement = $this->someCalculation($someparameter, $someotherparamter)->root;
好的,所以如果我在稍后阶段重新定义$b,它不会影响$a吗?@rickyduck:不会,因为赋值是按值完成的。也就是说,在上面的示例中($a=$b=2),$b被赋值为2,然后$a被赋值为$b(赋值运算符具有右关联性,这意味着它“从右边”工作)。如果调用$a=&$b=2,那么对$b所做的更改将影响$a。@Pete171:有用的信息,但在本文中,您的意思肯定是“是的,它不会影响$a”。(?)@Pete171:我试过$a=&b=2代码>和我得到一个解析错误。我可以做$b=2$a=&b美元代码>不过。我还没有找到任何链接和引用赋值可以一起使用的实例。只是一个快捷方式。PHP中赋值的结果就是所赋值的值,这允许您将赋值链接在一起,将多个变量设置为相同的值。
$currentElement = $firstElement = $this->someCalculation($someparameter, $someotherparamter)->root;