Гость
Иерархически группируйте данные двухмерного массива по двум столбцам и объединяйте значения третьего столбца в каждом ун
Сообщение
Гость » 26 мар 2024, 04:26
Мне нужно сгруппировать данные из моего 2d-массива в ассоциативный массив ассоциативных массивов, где значения d являются ключами первого уровня, а значения s станут ключами второго уровня, а значения s станут ключами второго уровня, а Значения i должны быть (возможно, разделенными запятыми) значениями второго уровня в соответствующей группе.
Ввод:
Код: Выделить всё
$array = [
["d" => "7 Apr 2024", "s" => "pm", "i" => "el"],
["d" => "8 Apr 2024", "s" => "am", "i" => "mn"],
["d" => "12 Apr 2024", "s" => "pm", "i" => "mr"],
["d" => "12 Apr 2024", "s" => "am", "i" => "mr"],
["d" => "12 Apr 2024", "s" => "am", "i" => "da"],
["d" => "13 Apr 2024", "s" => "pm", "i" => "li"],
["d" => "14 Apr 2024", "s" => "am", "i" => "li"],
["d" => "15 Apr 2024", "s" => "mid", "i" => "nd"],
["d" => "15 Apr 2024", "s" => "pm", "i" => "da"]
]
Желаемый результат:
Код: Выделить всё
[
"7 Apr 2024" => ["pm" => "el"],
"8 Apr 2024" => ["am" => "mn"],
"12 Apr 2024" => ["am" => "mr,da", "pm" => "mr"],
"13 Apr 2024" => ["pm" => "li"],
"14 Apr 2024" => ["am" => "li"],
"15 Apr 2024" => ["pm" => "da", "mid" => "nd"]
]
Я попробовал каждую версию каждого цикла foreach, используя операторы if, операторы while и временные массивы. У меня возникают трудности с объединением значений второго уровня, когда дата одинакова.
Подробнее здесь:
https://stackoverflow.com/questions/782 ... d-column-v
1711416395
Гость
Мне нужно сгруппировать данные из моего 2d-массива в ассоциативный массив ассоциативных массивов, где значения d являются ключами первого уровня, а значения s станут ключами второго уровня, а значения s станут ключами второго уровня, а Значения i должны быть (возможно, разделенными запятыми) значениями второго уровня в соответствующей группе. Ввод: [code]$array = [ ["d" => "7 Apr 2024", "s" => "pm", "i" => "el"], ["d" => "8 Apr 2024", "s" => "am", "i" => "mn"], ["d" => "12 Apr 2024", "s" => "pm", "i" => "mr"], ["d" => "12 Apr 2024", "s" => "am", "i" => "mr"], ["d" => "12 Apr 2024", "s" => "am", "i" => "da"], ["d" => "13 Apr 2024", "s" => "pm", "i" => "li"], ["d" => "14 Apr 2024", "s" => "am", "i" => "li"], ["d" => "15 Apr 2024", "s" => "mid", "i" => "nd"], ["d" => "15 Apr 2024", "s" => "pm", "i" => "da"] ] [/code] Желаемый результат: [code][ "7 Apr 2024" => ["pm" => "el"], "8 Apr 2024" => ["am" => "mn"], "12 Apr 2024" => ["am" => "mr,da", "pm" => "mr"], "13 Apr 2024" => ["pm" => "li"], "14 Apr 2024" => ["am" => "li"], "15 Apr 2024" => ["pm" => "da", "mid" => "nd"] ] [/code] Я попробовал каждую версию каждого цикла foreach, используя операторы if, операторы while и временные массивы. У меня возникают трудности с объединением значений второго уровня, когда дата одинакова. Подробнее здесь: [url]https://stackoverflow.com/questions/78221980/hierarchically-group-2d-array-data-by-two-columns-and-concatenate-third-column-v[/url]