Каждый запрос PHP должен инициализировать все переменные и после запроса освободить их. Из-за этого нередко возникают ситуации, когда специальные структуры данных (например, maxheap, связанный список или очередь) более эффективны, чем массивы. Также массивы намного проще понять и использовать для новичков.
Отличие от C++ в PHP заключается в том, что длина массива является динамической. Вы можете добавлять элементы, когда захотите.
$arr=array();
$arr[]=5; //add integer to array
echo count($arr); //1
$arr[]=7;
echo count($arr); //2
вы можете динамически создавать и добавлять массив в другой массив
$arr[]=array();
$arr[2][]=5;
echo count($arr); //3
echo count($arr[2]); //1
Это создаст новый массив, добавить элемент со значением 5 и добавить его в качестве элемента в массив $ обр.
$arr[][]=5;
В PHP массивы являются хэш-таблицы, так что вы можете иметь не только целые ключи, но и строки:
$arr['somekey']='somevalue';
Если элемент массива является целым числом, то каждый элемент требует структуру стоимости (ZVAL), который принимает 16 байт. Также требуется хэш-ведро - оно занимает 36 байт. Это дает 52 байта на одно значение. Заголовки распределения памяти берут еще 8 байтов * 2, что дает 68 байтов.
О массивах в PHP: http://oreilly.com/catalog/progphp/chapter/ch05.html
Связанные: [В чем преимущества использования SPL ArrayObject, ArrayIterator, RecursiveArrayIterator вместо обычных массивов?] (Http://stackoverflow.com/questions/4072927/what-are-the-benefits-of-using-spl -arrayobject-arrayiterator-recursivearrayite) (ноябрь 2010 г.); [Преимущества интерфейса ArrayAccess в PHP?] (Http://stackoverflow.com/q/4319603/367456) (ноябрь 2010 г.) – hakre