Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么人们会使用“$a=$b=2;”在PHP中?_Php - Fatal编程技术网

为什么人们会使用“$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;