2016-10-20 3 views
-3

Я работаю над проектом, где я получаю массив как этоНужна помощь Массивы Php слияния

Array 
(
    [0] => Array 
     (
      [0] => value1 
      [1] => value2 
      [2] => value3   
     ) 
    [1] => Array 
     (
      [0] => value4 
      [1] => value5 
      [2] => value6  
     ) 
    [2] => Array 
     (
      [0] => value7 
      [1] => value8 
      [2] => value9  
     ) 
) 

Я хочу, чтобы объединить его как этот

Array 
(
    [0] => value1 
    [1] => value2 
    [2] => value3   
    [3] => value4 
    [4] => value5 
    [5] => value6  
    [6] => value7 
    [7] => value8 
    [8] => value9   
) 

Im использованием PHP 5.6, любая помощь будет принята с благодарностью!

+0

и что именно ваша проблема? вы упомянули функцию, чтобы решить ее уже в заголовке вопроса, и я думаю, вы знаете о циклах (особенно foreach)? –

+0

Откуда вы создали 1-й массив. Покажите нам случай. –

+0

array_merge не дает мне то, что мне нужно, его упоминалось в вопросе, что я получаю и что мне нужно, я хочу избежать использования цикла foreach, может ли это быть сделано с помощью любой функции utlility? иначе у меня не будет выбора, кроме как сделать это вручную с помощью foreach! – Arsalan

ответ

3

Вы можете попробовать эту функцию:

function array_flatten($array) 
{ 
    if (!is_array($array)) { 
     return false; 
    } 

    $result = []; 
    foreach ($array as $key => $value) { 
     if (is_array($value)) { 
      $result = array_merge($result, array_flatten($value)); 
     } else { 
      $result[$key] = $value; 
     } 
    } 

    return $result; 
} 
+0

Это хорошее решение. Он будет работать для n-го уровня вложенного массива. –

Смежные вопросы