array: хранить несколько значений за ключ

Я однажды пытался добавить два значения с одним и тем же ключом, но это не сработало. Это перевернуло старую ценность. Невозможно ли добавить более одного значения с одним и тем же ключом, а при получении по ключу я получаю связанный список, который я могу перебирать, чтобы получить все разные значения?

Если вы фактически не храните массив в качестве значения. Hashtables в PHP отображает ключ к одному значению. Это значение может быть массивом, но вы должны сами построить массив. Вы можете подумать о создании класса для этого.

самый простой вариант: везде, где вы используете $array[$key]=... замените его на $array[$key][]=...

Вы можете создать функцию обертки:

 function add_to_array($array, $key, $value) { if(array_key_exists($key, $array)) { if(is_array($array[$key])) { $array[$key][] = $value; } else { $array[$key] = array($array[$key], $value); } } else { $array[$key] = array($value); } } 

Таким образом, вы просто создаете двумерный массив. Вы можете получить «связанный список» (другой массив) с помощью обычного доступа к массиву $array[$key] .

Является ли этот подход удобным, зависит от вас.