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..

RNK
  • 5,582
  • 11
  • 65
  • 133

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
  • 223,194
  • 41
  • 299
  • 337