Al empujar un nuevo valor en una matriz indexada¿Cómo hace PHP para rastrear el orden en una matriz asociativa?
$array[] = 'new value';
la documentación de PHP explica la forma en que se agrega en la posición [MAX_INDEX + 1].
Al empujar un nuevo valor en una matriz asociativa
$array['key'] = 'new value';
funciona de la misma, pero no veo ninguna explicación en la documentación para confirmar cómo o por qué lo hace. El orden parece ser consistente en mi implementación, pero ¿cómo puedo estar seguro de que el pedido seguirá siendo el mismo? ¿Alguien sabe cómo PHP implementa esto en el back-end?
Creo que los detalles de implementación se encuentran en [zend_hash.c] (http://svn.php.net/viewvc/php/php -src/trunk/Zend/zend_hash.c? view = marcado). Los índices se mantienen separados, supongo, y '-> pInternoPointer' muestra el último. – mario
Probablemente solo sean Linked Hash Maps. El enlace proporciona el orden independientemente del hash. –
¡Excelentes respuestas! ¡Justo lo que estaba buscando! :-) –