2008-10-17 12 views
8

Estoy tratando de crear una matriz multidimensional, con esta sintaxis:PHP declarar matrices multidimensionales con la sintaxis de corchetes

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

me sale el error: [] operator not supported for strings porque está evaluando la $x[1] como una cadena en lugar de regresar la matriz para que pueda agregarla.

¿Cuál es la sintaxis correcta para hacerlo de esta manera? El objetivo general es para crear esta matriz multidimensional en una iteración que añadir elementos a un índice conocido.

La sintaxis ${$x[1]}[] tampoco funciona.

Respuesta

24

¡El padre tiene que ser una matriz!

$x[1] = array(); 
$x[1][] = 'child'; 
5
$x = array(); 
$x[1] = array(); 
$x[1][] = 'child'; 
1

Creo que lo que quieres hacer es usar $ x ['parent'] al final, ¿no?

así que no es exactamente $ x = array() pero más algo como:

$x = array('parent' => array()); 
$x['parent'][] = 'child'; 
Cuestiones relacionadas