Андрей
Высший разум
(481135)
4 года назад
Если $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);
Ситуация такая
Есть отдельная таблица (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
Скриншот прилагаю