РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1124 of 1392 menu

Метод flatten

Метод flatten класса Arr преобразует многомерный массив в одномерный, рекурсивно извлекая все вложенные элементы. Метод принимает массив в качестве первого параметра и возвращает новый плоский массив. Вторым параметром можно указать глубину вложения, до которой нужно производить преобразование. Если глубина не указана, метод преобразует все уровни вложенности.

Синтаксис

<?php use Illuminate\Support\Arr; Arr::flatten($array); Arr::flatten($array, $depth); ?>

Пример

Преобразуем многомерный массив с числами в плоский:

<?php use Illuminate\Support\Arr; $arr = [1, 2, [3, 4], [5, [6, 7]]]; $res = Arr::flatten($arr); print_r($res); ?>

Результат выполнения кода:

[1, 2, 3, 4, 5, 6, 7]

Пример

Преобразуем многомерный массив со строками в плоский:

<?php use Illuminate\Support\Arr; $arr = ['a', 'b', ['c', 'd'], ['e', ['f', 'g']]]; $res = Arr::flatten($arr); print_r($res); ?>

Результат выполнения кода:

["a", "b", "c", "d", "e", "f", "g"]

Пример

Используем параметр глубины для ограничения уровня вложенности:

<?php use Illuminate\Support\Arr; $arr = [1, 2, [3, 4], [5, [6, 7]]]; $res = Arr::flatten($arr, 1); print_r($res); ?>

Результат выполнения кода:

[1, 2, 3, 4, 5, [6, 7]]

Пример

Работа с ассоциативным массивом. Ключи при преобразовании не сохраняются:

<?php use Illuminate\Support\Arr; $arr = [ 'user' => ['name' => 'abcde', 'age' => 25], 'profile' => ['city' => 'city', 'hobbies' => ['reading', 'sports']] ]; $res = Arr::flatten($arr); print_r($res); ?>

Результат выполнения кода:

["abcde", 25, "city", "reading", "sports"]

Пример

Преобразование массива с разными типами данных:

<?php use Illuminate\Support\Arr; $arr = [ [true, false], ['text', 123], [null, [3.14, 'pi']] ]; $res = Arr::flatten($arr); print_r($res); ?>

Результат выполнения кода:

[true, false, "text", 123, null, 3.14, "pi"]

Смотрите также

  • метод flatten для коллекций,
    который работает аналогичным образом
  • метод collapse,
    который схлопывает массив массивов на один уровень
  • метод dot,
    который преобразует многомерный массив в плоский с сохранением ключей через точку
  • метод wrap,
    который оборачивает значение в массив
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить