为什么人们会在PHP中使用`$ a = $ b = 2;`?

ric*_*uck 3 php

为什么人们会使用这种格式?这和之间有什么不同$a=2; $b=2;

Dar*_*con 8

无需重新输入2.如果在某些时候2更改为a 3,这将非常有用.

  • @rickyduck:不,因为作业是按价值完成的.即,在上面的例子($ a = $ B = 2),$ B被分配值2,然后$一个被分配$ B(赋值运算符具有右结合性,这意味着它的工作原理'的值从右边').如果您要拨打$ a =&$ b = 2,那么,您对$ b所做的更改会影响$ a. (7认同)

cwa*_*ole 7

功能?没有.他们都做同样的事情"将变量$ a和$ b设置为2".但是,它确实会与您的程序员交流一些东西,在某些情况下会更快/更容易.例如

for($i = $j = 0; $i < 5; $i++, $j--) echo "$i $j \n";
Run Code Online (Sandbox Code Playgroud)

输出:

0 0
1 -1
2 -2
3 -3
4 -4
Run Code Online (Sandbox Code Playgroud)

当然,如果你需要$ i和$ j初始化为更有用的东西,比如说floor( count( $myArr ) / 2 ),它也可以这样有用.

然后还有其他类似用途:

$j = ( $i = 1 ) - 1; // $i = 1, $j = 0;
Run Code Online (Sandbox Code Playgroud)