Я однажды пытался добавить два значения с одним и тем же ключом, но это не сработало. Это перевернуло старую ценность. Невозможно ли добавить более одного значения с одним и тем же ключом, а при получении по ключу я получаю связанный список, который я могу перебирать, чтобы получить все разные значения?
Если вы фактически не храните массив в качестве значения. 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]
.
Является ли этот подход удобным, зависит от вас.