Объединить / сгладить массив массивов

Лучше:

$resultstr = array();
foreach ($results as $result) {
  $resultstr[] = $result->name;
}
echo implode(",",$resultstr);
927
задан Alexander Abakumov 11 April 2019 в 21:46
поделиться

1 ответ

Можно также попробовать новое Array.Flat() метод. Это работает следующим образом:

let arr = [["$6"], ["$12"], ["$25"], ["$25"], ["$18"], ["$22"], ["$10"]].flat()

console.log(arr);

flat() метод создает новый массив со всеми элементами подмассива, связанными в него рекурсивно до 1 слоя глубины (т.е. выстраивает внутренние массивы)

, Если Вы хотите также выровнять 3 размерных или еще более высоких размерных массива, Вы просто называете плоский метод многократно. Например (3 размера):

let arr = [1,2,[3,4,[5,6]]].flat().flat().flat();

console.log(arr);

Быть осторожным!

Array.Flat() метод является относительно новым. Более старые браузеры как т.е., возможно, не реализовали метод. Если Вы хотите, чтобы Вы код работали над всеми браузерами, Вам, возможно, придется транссложить Ваш JS к более старой версии. Проверьте на веб-документы MD для текущей совместимости браузера.

1
ответ дан 19 December 2019 в 20:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: