如何在php中将多维关联数组转换为单维数组?

时间:2013-03-16 04:36:13

标签: php mysql

我快速查询如何将多维数组转换为单维数组

$teachers=array(array('post_id' => "John Doe",'video_id' => array('Government','English')), array('post_id' => "Steven Lee",'video_id' => array("Math","Science", "PE")),array('post_id' => "Jean Perot", 'video_id' => array("French", "Literature")));

1 个答案:

答案 0 :(得分:0)

试试这个

function array_values_recursive($ary)  {
    $lst = array();
    foreach( array_keys($ary) as $k ) {
        $v = $ary[$k];
        if (is_scalar($v)) {
            $lst[] = $v;
        } elseif (is_array($v)) {
            $lst = array_merge($lst,array_values_recursive($v));
        }
    }
    return array_values(array_unique($lst)); // used array_value function for rekey
}

$teachers=array(
    array('post_id' => "John Doe",'video_id' => array('Government','English')), 
    array('post_id' => "Steven Lee",'video_id' => array("Math","Science", "PE")),
    array('post_id' => "Jean Perot", 'video_id' => array("French", "Literature")));

$flat = array_values_recursive($teachers);
print_r($flat); // OUTPUT : Array ( [0] => John Doe [1] => Government [2] => English [3] => Steven Lee [4] => Math [5] => Science [6] => PE [7] => Jean Perot [8] => French [9] => Literature )