PHP объявляет многомерные массивы с синтаксисом в квадратных скобках - PullRequest
8 голосов
/ 17 октября 2008

Я пытаюсь создать многомерный массив, используя этот синтаксис:

$x[1] = 'parent';
$x[1][] = 'child';

Я получаю ошибку: [] operator not supported for strings, потому что она оценивает $x[1] как строку, а не возвращает массив, чтобы я мог добавить к нему.

Какой правильный синтаксис для этого? Общая цель состоит в том, чтобы создать этот многомерный массив в итерации, которая добавит элементы к известному индексу.

Синтаксис ${$x[1]}[] тоже не работает.

Ответы [ 3 ]

24 голосов
/ 17 октября 2008

Родителем должен быть массив!

$x[1] = array();
$x[1][] = 'child';
5 голосов
/ 17 октября 2008
$x = array();
$x[1] = array();
$x[1][] = 'child';
1 голос
/ 19 октября 2008

Я думаю, что вы хотите использовать $ x ['parent'] в конце концов, не так ли?

Так что это не совсем $ x = array (), а скорее что-то вроде:

$x = array('parent' => array());
$x['parent'][] = 'child';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...