$myArray = [];
Erstellt ein leeres Array.
Sie können Werte später wie folgt auf das Array übertragen:
$myArray[] = "tree";
$myArray[] = "house";
$myArray[] = "dog";
Zu diesem Zeitpunkt enthält $ myArray "Baum", "Haus" und "Hund". Jeder der oben genannten Befehle wird an das Array angehängt, wobei die bereits vorhandenen Elemente beibehalten werden.
Da ich aus anderen Sprachen stamme, kam mir diese Art des Anhängens an ein Array seltsam vor. Ich hatte erwartet, etwas wie $ myArray + = "dog" oder so etwas tun zu müssen ... oder vielleicht eine "add ()" - Methode wie Visual Basic-Sammlungen. Aber diese Syntax zum direkten Anhängen ist sicherlich kurz und bequem.
Sie müssen tatsächlich die Funktion unset () verwenden, um Elemente zu entfernen:
unset($myArray[1]);
... würde "house" aus dem Array entfernen (Arrays sind nullbasiert).
unset($myArray);
... würde das gesamte Array zerstören.
Um es klar auszudrücken, ist die Syntax der leeren eckigen Klammern zum Anhängen an ein Array lediglich eine Möglichkeit, PHP anzuweisen, die Indizes jedem Wert automatisch zuzuweisen, anstatt dass SIE die Indizes zuweisen. Unter dem Deckmantel macht PHP tatsächlich Folgendes:
$myArray[0] = "tree";
$myArray[1] = "house";
$myArray[2] = "dog";
Sie können selbst Indizes zuweisen, wenn Sie möchten, und Sie können beliebige Zahlen verwenden. Sie können einigen Elementen auch Indexnummern zuweisen und anderen nicht. Wenn Sie dies tun, füllt PHP die fehlenden Indexnummern aus und erhöht sie von der größten zugewiesenen Indexnummer.
Wenn Sie dies tun:
$myArray[10] = "tree";
$myArray[20] = "house";
$myArray[] = "dog";
... dem Element "Hund" wird eine Indexnummer von 21 zugewiesen. PHP führt keinen intelligenten Mustervergleich für die inkrementelle Indexzuweisung durch, sodass es nicht weiß, dass Sie möglicherweise gewünscht haben, dass es "Hund" einen Index von 30 zuweist ". Sie können andere Funktionen verwenden, um das Inkrementmuster für ein Array anzugeben. Ich werde hier nicht darauf eingehen, aber es ist alles in den PHP-Dokumenten.
Prost,
- = Cameron