2014-12-18 4 views
1

У меня есть массив как этотмассива многомерного массив

$category = [ 
'cat1' => [ 
    'images/category/cat1/icon1.jpg', 
    'images/category/cat1/icon2.jpg', 
    'images/category/cat1/icon3.jpg', 
], 
'cat2' => [ 
    'images/category/cat2/icon1.jpg', 
    'images/category/cat2/icon2.jpg', 
    'images/category/cat2/icon3.jpg', 
] 
]; 

Я хочу, чтобы получить массив как этого

$categories = [ 
'images/category/cat1/icon1.jpg', 
'images/category/cat1/icon2.jpg', 
'images/category/cat1/icon3.jpg', 
'images/category/cat2/icon1.jpg', 
'images/category/cat2/icon2.jpg', 
'images/category/cat2/icon3.jpg', 
]; 

Я попытался это, но не получил ожидаемый выход.

$categories = array_map(function($cat){return $cat;},$category); 

Благодаря

+0

Вы больше шансов получить помощь, если вы публикуете фактический результат, который вы получаете eived. (Но спасибо за показ нам, какой результат вы хотите и что вы пробовали.) –

+0

Возможный дубликат [Как «сгладить» многомерный массив до простого в PHP?] (Http://stackoverflow.com/questions/526556/how-to-flatten-a-multi-dimension-array-to-simple-one-in-php) –

+0

http://stackoverflow.com/questions/526556/how-to-flatten-a-multi-dimensional- массив к простой один-в-PHP/14972714 # 14972714 –

ответ

4

Вы можете использовать call_user_func_array в связке с array_merge:

$category = call_user_func_array('array_merge', $category); 
1

Может решить, array_reduce() & array_merge()

$categories = array_reduce($category, function($old, $new){ 
    return array_merge($old, $new); 
}, array()); 
Смежные вопросы