Как избавиться от вложенности в массиве?

161
29 апреля 2019, 00:20

Есть такой массив:

 sokolov@tpremierlc.com 
    Array 
( 
    [0] => Array 
        ( 
            [0] => itsowncordova@gmail.com 
            [1] => itsowncordova@icloud.com 
        ) 
 
) 
    Array 
( 
    [0] => Array 
        ( 
            [0] => itsowncordova@gmail.com 
        ) 
 
) 
    kmsnvkz2015@yandex.ru 
    rosank@mail.ru 
    rv@ukenergomash.ru 
    kozhurin@pk-strop.ru

как его преобразовать в одномерный таким образом?

 sokolov@tpremierlc.com 
 itsowncordova@gmail.com 
 itsowncordova@icloud.com 
 itsowncordova@gmail.com 
 kmsnvkz2015@yandex.ru 
 rosank@mail.ru 
 rv@ukenergomash.ru 
 kozhurin@pk-strop.ru

Answer 1
$array = array(
    array(
        'itsowncordova@gmail.com',
        'itsowncordova@icloud.com'
    ),
    array(
        array(
            'itsowncordova@gmail.com'
        )
    ),
    "kmsnvkz2015@yandex.ru",
    "kmsnvkz2015@yandex.ru2"
);
$emails = []; 
array_walk_recursive($array, 
    function($item, $key) use (&$emails){
        $emails[] = $item;
    }
);
var_dump($emails);

Результат:

array(5) {
  [0]=>
  string(23) "itsowncordova@gmail.com"
  [1]=>
  string(24) "itsowncordova@icloud.com"
  [2]=>
  string(23) "itsowncordova@gmail.com"
  [3]=>
  string(21) "kmsnvkz2015@yandex.ru"
  [4]=>
  string(22) "kmsnvkz2015@yandex.ru2"
}
Answer 2
$arr = ['sokolov@tpremierlc.com',
    Array(Array('itsowncordova@gmail.com', 'itsowncordova@icloud.com',)
    ), Array(Array('itsowncordova@gmail.com'),
    ), 'kmsnvkz2015@yandex.ru', 'rosank@mail.ru', 'rv@ukenergomash.ru',
    'kozhurin@pk-strop.ru',];
function change(array $arg)
{
    $items = [];
    foreach ($arg as $item) {
        if(is_array($item)){
            $items = array_merge($items, change($item));
        }else{
            $items[] = $item;
        }
    }
    return $items;
}
var_dump(change($arr));
Answer 3
$arr = [1,2,[3,4, [5,6,7], 8], 9];
$flat_arr = iterator_to_array(new \RecursiveIteratorIterator(new \RecursiveArrayIterator($arr)), false);
var_dump($flat_arr);

Результат:

array(9) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) [5]=> int(6) [6]=> int(7) [7]=> int(8) [8]=> int(9) }

READ ALSO
Вывод данных с бд MSSQL

Вывод данных с бд MSSQL

Как можно создать запрос, чтобы результаты в echo выводило, например, для "SVG_PAGE"-1, ТО ЕСТЬ ВСЕ РЕЗУЛЬТАТЫ КОТОРЫЕ В МАССИВЕ $arr?

186
Нету доступа к phpmyadmin [закрыт]

Нету доступа к phpmyadmin [закрыт]

Заказчик дал виртуальную машину на ubuntu 1404, где был их сайт

146
Не обновляется поле sort

Не обновляется поле sort

Есть форма, которая должна обновлять значение картинки - поле sort в базе данных или удалять картинку:

160