How to “flatten” a multi-dimensional array to simple one in PHP?

前端 未结 23 2643
没有蜡笔的小新
没有蜡笔的小新 2020-11-22 01:03

It\'s probably beginner question but I\'m going through documentation for longer time already and I can\'t find any solution. I thought I could use implode for each dimensio

23条回答
  •  猫巷女王i
    2020-11-22 01:17

    $array  = your array
    
    $result = call_user_func_array('array_merge', $array);
    
    echo "
    ";
    print_r($result);
    

    REF: http://php.net/manual/en/function.call-user-func-array.php

    Here is another solution (works with multi-dimensional array) :

    function array_flatten($array) {
    
       $return = array();
       foreach ($array as $key => $value) {
           if (is_array($value)){ $return = array_merge($return, array_flatten($value));}
           else {$return[$key] = $value;}
       }
       return $return;
    
    }
    
    $array  = Your array
    
    $result = array_flatten($array);
    
    echo "
    ";
    print_r($result);
    

提交回复
热议问题