PHP从数组中删除多余的数组

时间:2010-12-16 18:34:26

标签: php arrays multidimensional-array

这里有一点脑筋,我有一个看起来像这样的阵列:

Array ( 
[0] => Array ( 'fruit' => 'orange', ) 
[1] => Array ( 'fruit' => 'apple', )
)

annnnnnnd它必须像这样结束:

Array ( 
[0] => 'orange'
[1] => 'apple' 
)

我该怎么做?

2 个答案:

答案 0 :(得分:3)

您可以使用array_maparray_shift

$array = array_map('array_shift', $array);

或只是循环遍历:

foreach($array as $key=>$value) {
    $array[$key] = array_shift($value);
}

更新:如果你总是希望获得第一个值,或者如果子数组只包含一个值,那么使用array_shift要好得多......

如果你有一个更复杂的结构,例如在子阵列中有更多元素,那么你基本上想要flatten your array

答案 1 :(得分:0)

如果密钥并不总是相同(即如果它不总是水果),你可以这样做:

<?php
$source = array( 
    0 => array ( 'fruit' => 'orange', ) 
    1 => array ( 'fruit' => 'apple', )
);     

$destination = array();

foreach($source as $source_array)
{
    foreach($source_array as $value)
    {
        $destination[] = $value;
    }
}
?>