2013-01-09 130 views
1
Array ( 
    [0] => Array ( 
     [0] => uploads/AP02A66_31_upload1_1357736699_SeamTrade.php 
    ) 
    [1] => Array ( 
     [0] => uploads/AP02A66_31_upload1_1357736699_SiteController.php 
    ) 
) 

如何上述阵列转换成一个索引数组,使得它会在等形式,阵列转换

Array ( 
    [0] => uploads/AP02A66_31_upload1_1357736699_SeamTrade.php 
    [1] => uploads/AP02A66_31_upload1_1357736699_SiteController.php 
) 
+0

只是'foreach'给出数组并将它的元素追加到空数组 –

+1

遍历数组并创建一个新数组,像你想要的那样......究竟是什么问题?此外,只有正确格式化代码才能让其他人有机会阅读它。 –

+3

您可以检查这一项 http://stackoverflow.com/questions/9481980/remove-first-levels-of-identifier-in-array 这是因为你的 – Nick

回答

0

函数变平嵌套数组:

function flatten_array(array $array) { 
    return iterator_to_array(new \RecursiveIteratorIterator(new \RecursiveArrayIterator($array)),false); 
} 
5
for($i=0;$i<count($yourArray);$i++) 
{ 
    $yourArray[$i] = $yourArray[$i][0]; 
} 
2
$sourceArray = array( 
    array('uploads/AP02A66_31_upload1_1357736699_SeamTrade.php'), 
    array('uploads/AP02A66_31_upload1_1357736699_SiteController.php'), 
); 
$newArray = array_map(function ($nestedArray) { 
    return $nestedArray[0]; 
}, $sourceArray); 

或其他方式(那样会做到这一点,所以要小心源数组将会改变):

foreach ($sourceArray as &$element) { 
    $element = $element[0]; 
} 

或更灵活的方式 - 如果你的嵌套数组可以包含多个元素:

$newArray = array(); 
foreach ($sourceArray as $nestedArray) { 
    $newArray = array_merge($newArray, $nestedArray); 
} 

,并有许多其他的方式,但我想上面应该是足够的; )

1

另一种可能的解决方案,假设你的数组称为$input

$output = array(); 
array_walk_recursive($input, function($element) use (&$output){ 
    $output[] = $element; 
}); 
+0

由于同样的问题,这么多.... ....... – user1755949