同时初始化多个 PHP 变量

php
2022-08-30 09:38:37

如何在不使用数组的情况下同时初始化多个值为零的PHP变量?我希望编写本质上等效于以下内容的代码:

$first = 0;
$second = 0;
$third = 0;
$fourth = 0;

答案 1
$first = $second = $third = $fourth = 0;

答案 2

虽然在 for 循环中使用逗号运算符初始化多个变量是可行的,如下所示:

<?php
for ($a=0,$b=0,$c=0,$d=0;;) {
    break;
}
var_dump($a,$b,$c,$d);

(请参阅此处的演示)

列表构造提供了一种更有效的方法来执行多个变量赋值,如以下示例所示:

<?php

list( $first, $second, $third, $fourth ) = array( 0, 0, 0, 0 );
var_dump($first, $second, $third, $fourth );

在此处观看演示

人们可能希望重新考虑避免使用数组来实现多个初始化变量。使用 PHP7.1+ ,如果使用短数组语法提供的数组解构,则可以编写更简单、健壮的代码,如下所示:

<?php

[$first, $second, $third, $fourth ] = [0, 0, 0, 0];
var_dump($first, $second, $third, $fourth );

在此处观看演示。

如果需要确定正在初始化的变量以前未设置,请参阅此相关讨论,尤其是此响应


推荐