0

I want to merge array in php. I have array like this:

Array ( [0] => 6 [1] => 3 [2] => 15 )
Array ( [0] => IMAGE [1] => TICKER [2] => FULL_SCREEN_VIDEO )
Array ( [0] => 434 [1] => 423 [2] => 123 )

And I want result like:

Array( [0] => 6 [1] => IMAGE [2] => 434)
Array( [0] => 3 [1] => TICKER [2] => 423)
Array( [0] => 15 [1] => FULL_SCREEN_IMAGE [2] => 123)

What will be the easiest solution for this kind of problem? Thanks..

Ronak Patel
  • 5,341
  • 9
  • 54
  • 129

1 Answers1

2

You want to "transpose" an array. Assuming you have these 3 arrays in an array, you can do this:

$array = array(
    array(6, 3, 15),
    array('IMAGE', 'TICKER', 'FILL_SCREEN_VIDEO'),
    array(434, 423, 123)
);

array_unshift($array, null);
$array = call_user_func_array("array_map", $array);

If your arrays are actually 3 separate arrays, then you could just simply do this:

$array = array_map(null, $array1, $array2, $array3);

That's basically what call_user_func_array is doing.

gen_Eric
  • 214,658
  • 40
  • 293
  • 332