Тина
Тина

Конкатенация элементов многомерного массива php

Столкнулась с проблемой... Помогите пожалуйста решить.

Ситуация такая
Есть отдельная таблица (momental) в ней значения id товаров, кол-во, цена, валюта и т. д
Есть 2 массива городов, а могут быть и 10, мне нужно все перебрать и соединить все momental_city
Вывод из БД

Код вывода:
$all = getAll("SELECT * FROM uni_momental WHERE momental_tovar_id={$array_data["tovar"]['ads_id']}");
print_r($all);

Задача нужно сложить эти массивы в один большой массив этих значений
Мне в конце нужен такой результат:
["1133","1134","1142","1143","1144"]
Конкатенация многомерного массива php это где то близко, но не совсем помогла...

Для управления массивом momental_city (добавить/удаленить/обновить) в таблице MySQL
Скриншот прилагаю


Изначально массив заносила в JSON. Что бы легче было работать

ДМ
Дмитрий Монастырев

Если $data - массив со структурой, представленной на скриншоте, то в современном PHP будет что-то вроде такого:

$result = array_merge(...array_column($data, 'momental_city'));

... -это не ошибка, а операция распаковки массива в список параметров функции.

В более древнем PHP:

$result = call_user_func_array('array_merge', array_map(function($row) { return $row['momental_city']; }, $data));

Я исходил из того, что в momental_city находится массив. Если там строка, содержащая JSON, код немного усложнится.

$result = array_merge(...array_map('json_decode', array_column($data, 'momental_city')));

Или:

$result = call_user_func_array('array_merge', array_map(function($row) { return json_decode($row['momental_city']); }, $data));

Если надо убрать повторяющиеся значения:

$result = array_unique($result);

Похожие вопросы
php удаление пустых элементов массива? Есть ли в php функция удаляющая пустые элементы массива?
PHP: Как поменять местами вложенность многомерного массива?
Одномерный массив в многомерный PHP
Вывод элементов многомерных массивов в компоненты ShowMessage, Memo. (Delphi)
php доступ к элементам массива
Задачи на одномерные и многомерные массивы
Массивы в php
Как сделать цикл с многомерным массивом?
• сумму элементов массива, расположенных до последнего положительного элемента. на PHP помогите?
Вывод наибольшего количества из массива php