У PHP есть упорядоченный словарь? - PullRequest
8 голосов
/ 22 сентября 2011

Есть ли в PHP упорядоченный словарь, например, в Python ? То есть каждая пара ключ-значение дополнительно имеет порядковый номер, связанный с ней.

Ответы [ 3 ]

5 голосов
/ 22 сентября 2011

Вот так PHP-массивы работают из коробки. Каждая пара ключ / значение имеет порядковый номер, поэтому порядок вставки запоминается. Вы можете легко проверить это самостоятельно:

http://ideone.com/sXfeI

3 голосов
/ 22 сентября 2011

Если я правильно понимаю описание в документации по Python, тогда да. Массивы PHP на самом деле являются только упорядоченными картами:

Массив в PHP на самом деле является упорядоченной картой. Карта - это тип, который связывает значения с ключами. Этот тип оптимизирован для нескольких различных применений; его можно рассматривать как массив, список (вектор), хеш-таблицу (реализацию карты), словарь, коллекцию, стек, очередь и, возможно, больше. Поскольку значения массивов могут быть другими массивами, деревья и многомерные массивы также возможны.

PHP Array docs

2 голосов
/ 22 сентября 2011

PHP-массивы работают таким образом по умолчанию.

$arr = array('one' => 1, 'two' => 2, 'three' => 3, 'four' => 4);
var_dump($arr); // 1, 2, 3, 4

unset($arr['three']);
var_dump($arr); // 1, 2, 4

$arr['five'] = 5;
var_dump($arr); // 1, 2, 4, 5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...