Переменные переменные не работают должным образом и создают массив

Я использую эту строку кода:

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

Я настроил это с целью создания этих переменных:

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

Почему создан массив для $var ? Вместо того, чтобы просто определить три переменные?

2

Решение

Просто потому что {} также может быть использован для доступа к массивам, как вы можете прочитать из руководство:

Замечания:
Обе квадратные скобки и фигурные скобки может использоваться взаимозаменяемо для доступа к элементам массива (например, $ array [42] и $ array {42} будут делать то же самое в примере выше).

Означает, что следующие 2 строки одинаковы:

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

Что вы хотите переменные переменные, что было бы это:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]