2013-01-09 175 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