PHP Array merge with stagger

Hi,

Is there a way to merge two array in a stagger order?

Example



Array 1

Array
(
    [0] => Array
        (
            [Name] => 118
            [Score] => 0
        )

    [1] => Array
        (
            [Name] => 19
            [Score] => 0
        )

    [2] => Array
        (
            [Name] => 65
            [Score] => 0
        )
)


array 2

Array
(
    [0] => Array
        (
            [Name] => 0
            [Score] => 0
        )

    [1] => Array
        (
            [Name] => 0
            [Score] => 0
        )

    [2] => Array
        (
            [Name] => 0
            [Score] => 0
        )
)

Final Array
Array
(
    [0] => Array (Array 1 Value)
        (
            [Name] => 118
            [Score] => 0
        )
    [1] => Array (Array 2 Value)
        (
            [Name] => 0
            [Score] => 0
        )

    [2] => Array (Array 1 Value)
        (
            [Name] => 19
            [Score] => 0
        )
    [3] => Array (Array 2 Value)
        (
            [Name] => 0
            [Score] => 0
        )

    [4] => Array (Array 1 Value)
        (
            [Name] => 65
            [Score] => 0
        )
    [5] => Array (Array 2 Value)
        (
            [Name] => 0
            [Score] => 0
        )
        
 )

          

Thanks

I would guess there’s a better way, but…


<?php
function array_interleave($one, $two){
  $final = array();
  for($i = 0; $i < max(count($one), count($two)); $i++){
    if(array_key_exists($i, $one)){
      array_push($final, $one[$i]);
    }
    if(array_key_exists($i, $two)){
      array_push($final, $two[$i]);
    }
  }
  return $final;
}

$one = range(1, 3);
$two = range('a', 'c');

var_dump(
  array_interleave($one, $two)
);

/*
array(6) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  int(2)
  [3]=>
  string(1) "b"
  [4]=>
  int(3)
  [5]=>
  string(1) "c"
}
*/

Thanks worked liked a champ. :smiley: