Jede PHP-Anfrage muss alle Variablen initialisieren und nach der Anfrage werden sie freigegeben. Aus diesem Grund kommt es nicht oft zu Situationen, in denen spezielle Datenstrukturen (wie MaxHeap, LinkedList oder Queue) effizienter sind als Array. Auch Arrays sind viel einfacher zu verstehen und für Anfänger zu verwenden.
Der Unterschied zu C++ in PHP ist, dass die Länge der Arrays dynamisch ist. Sie können Elemente hinzufügen, wann immer Sie möchten.
$arr=array();
$arr[]=5; //add integer to array
echo count($arr); //1
$arr[]=7;
echo count($arr); //2
können Sie dynamisch erstellen und fügen Sie Array zu einem anderen Array
$arr[]=array();
$arr[2][]=5;
echo count($arr); //3
echo count($arr[2]); //1
Dies wird neue Array erstellen, fügen Element mit dem Wert 5 und fügen Sie es als Element Array $ arr.
$arr[][]=5;
In PHP-Arrays sind Hash-Tabellen, so kann man nicht nur die Tasten integer haben, sondern auch Zeichenketten:
$arr['somekey']='somevalue';
Wenn Integer-Array-Element wird dann jedes Element einen Wert Struktur erfordert (zval), die statt 16 Bytes. Benötigt außerdem einen Hash-Bucket - der 36 Bytes benötigt. Das ergibt 52 Bytes pro Wert. Speicherzuweisungsheader nehmen weitere 8 Bytes * 2 - was 68 Bytes ergibt.
Über Arrays in PHP: http://oreilly.com/catalog/progphp/chapter/ch05.html
Verwandte: [? Was sind die Vorteile der Verwendung von SPL Arrayobject, ArrayIterator, RecursiveArrayIterator statt regulären Arrays] (http://stackoverflow.com/questions/4072927/what-are-the-benefits-of-using-spl -arrayobject-arrayiterator-recursivearrayite (Nov 2010); [Vorteile von Arrayaccess-Schnittstelle in PHP?] (Http://stackoverflow.com/q/4319603/367456) (Nov 2010) – hakre