Нужно разбить дубликаты значений из MySQL по массивам

87
22 ноября 2020, 06:30

Получаю все дубликаты

$select = "SELECT * FROM ali WHERE city IN (
SELECT city
FROM ali
GROUP BY city
HAVING COUNT( city ) > 1
) ORDER BY id";

Сейчас

Array ( [id] => 1 [city] => Dnipro ) Array ( [id] => 2 [city] => Dnipro ) Array ( [id] => 3 [city] => Dnipro ) Array ( [id] => 4 [city] => Rivne ) Array ( [id] => 5 [city] => Rivne ) Array ( [id] => 7 [city] => Kyiv ) Array ( [id] => 8 [city] => Kyiv )

Нужно разбить по массивам

`Array
(
    [0] => Array
        (
            [id] => 1
            [city] => Dnipro
        )
        Array
        (
            [id] => 2
            [city] => Dnipro
        )
        Array
        (
            [id] => 3
            [city] => Dnipro
        )
   [1] => Array
       (
            [id] => 4
            [city] => Rivne
       )...`
Answer 1
$resultArray = [];
array_walk($array, function($item, $key) use (&$resultArray) {
    $resultArray[$item['city']][] = $item;
});
print_r($resultArray);
READ ALSO
Обращение к массиву

Обращение к массиву

Есть массив данных, который я извлекаю с БД

116
Как подключить виртуальный numpad(JS) на сайт?

Как подключить виртуальный numpad(JS) на сайт?

На сайте есть форма заполнения, когда юзер нажимает на текстовое поле, то появляется виртуальная клавиатура, но есть и поля для ввода чисел,...

98
Маппинг многомерной структуры данных

Маппинг многомерной структуры данных

У меня есть структура данных:

125
Как работает строка кода? Лямбда, reduce

Как работает строка кода? Лямбда, reduce

Вечер добрыйНашёл вот такую прекрасную строку

112