using count , array_push , and loop on counts
<?php
$array1 = array("red", "red", "red");
$array2 = array("green", "green", "green", "green");
$array3 = array("blue", "blue");
$ArrayLength = array(count($array1),count($array2),count($array3));
$Arrays= array ( $array1,$array2,$array3 );
$MergeArray=array();
$flag=true;
for($i=0;$flag==true;$i++)
{
$flag=false;
for($j=0;$j < count($ArrayLength) ; j++)
{
if( $i < $ArrayLength[$j] )
{
array_push( $MergeArray , $Arrays[$j][$i] );
$flag=true;
}
}
}
Print_r( $MergeArray );
?>