Search code examples
phparraysmultidimensional-arrayarray-map

Multidimensional array to array in PHP


I have an array like this

$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',
]
];

I want to get the array like this

$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',
];

I tried this but not got expected output.

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

Solution

  • You can use call_user_func_array in conjuction with array_merge:

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