Тип массива PHP на самом деле больше похож на упорядоченную карту, чем на традиционный массив C. Это исходная структура данных общего использования PHP. В руководстве говорится, что типы индексированных и ассоциативных массивов одинаковы. введите в PHP, который может содержать как целочисленные, так и строковые индексы.
Однако во многих случаях встроенные функции языка будут различать индексированные массивы (массивы с последовательными целочисленными ключами) и ассоциативные массивы (массивы с непоследовательными ключами и/или ключами смешанного типа).
Одним из примеров этого является функция array_merge.
Если входные массивы имеют одинаковые строковые ключи, то более позднее значение для этого ключа перезапишет предыдущее. Однако если массивы содержат числовые ключи, более позднее значение не перезапишет исходное значение, а будет добавлено.
Если задан только один массив, и массив проиндексирован в числовом виде, ключи непрерывно переиндексируются.
В каких еще местах PHP проводится различие между индексированными и ассоциативными массивами? Меня особенно интересуют различия между пользователями, хотя любое понимание реализации массива в исходном коде PHP также было бы интересно.