变量 variables 没有按预期工作,正在创建一个数组

Variable variables doesn't work as expected and is creating an array

我正在使用这行代码:

$var{++$counter} = $results['row'];

我设置它的目的是创建这些变量:

$var1 = row 1
$var2 = row 2
$var3 = row 3

为什么要为 $var 创建一个数组?而不是只定义三个变量?

因为 {} 也可以用来访问数组,正如您可以从 manual 中读取的那样:

Note: Both square brackets and curly braces can be used interchangeably for accessing array elements (e.g. $array[42] and $array{42} will both do the same thing in the example above).

表示下面两行相同:

$var{++$counter}
$var[++$counter] 

你要的是variable variables,就是这样:

${"var" . ++$counter} = $results['row'];