2008-10-17 14 views
8

ich ein mehrdimensionales Array mit dieser Syntax zu erstellen versuchen:PHP Deklarieren mehrdimensionale Arrays mit eckiger Klammer Syntax

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

Ich erhalte die Fehlermeldung: [] operator not supported for strings, weil es die $x[1] als String prüft im Gegensatz zu der Rückkehr das Array, damit ich es anhängen kann.

Was ist die korrekte Syntax es auf diese Weise zu tun? Das übergeordnete Ziel besteht darin, dieses mehrdimensionale Array in einer Iteration zu erstellen, die Elemente an einen bekannten Index anfügt.

Die Syntax ${$x[1]}[] funktioniert auch nicht.

Antwort

24

Der Elternteil muss ein Array sein!

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

Ich denke, was Sie tun möchten, ist $ x ['Eltern'] am Ende zu verwenden, nicht wahr?

So ist es nicht genau das x $ = array(), aber mehr so ​​etwas wie:

$x = array('parent' => array()); 
$x['parent'][] = 'child'; 
Verwandte Themen