I am trying to create new array by checking index number and fill that index by another array.
Here in loop if current element index is in index 4
it will take value from another array.
and the value on that position will move to next loop.
My current two array like this
$arr1 = array(
    0 => 'number 1', 
    1 => 'number 2',
    2 => 'number 3',
    3 => 'number 4',
    4 => 'number 5',
) ;
$arr2 = array(
    0 => 'number 4 insert', 
    1 => 'number 8 insert',
    2 => 'number 12 insert',
    3 => 'number 16 insert',
    4 => 'number 24 insert',
) ;
My expected new array I want like this
Array
(
    [0] => 'number 1',
    [1] => 'number 2',
    [2] => 'number 3',
    [3] => 'number 4 insert',
    [4] => 'number 4',
    [5] => 'number 5',
    [6] => 'number 6',
    [7] => 'number 8 insert',
    [8] => 'number 7',
    [9] => 'number 8',
    [10] => 'number 9',
    [11] => 'number 12 insert',
    [12] => 'number 10',
    ...
    ...
)
For this solution I am trying this but it generally replacing my main array value not by pushing value on selected key index I want.
$arr1 = array(
    0 => 'number 1', 
    1 => 'number 2',
    2 => 'number 3',
    3 => 'number 4',
    4 => 'number 5',
) ;
$arr2 = array(
    0 => 'number 4 insert', 
    1 => 'number 8 insert',
    2 => 'number 12 insert',
    3 => 'number 16 insert',
    4 => 'number 24 insert',
) ;
function match_arrayKeys ($x, $y,$z)
{
    $keys    = array_keys ($x);
    
    $keysy    = array_keys ($y);
    for ($i = 0; $i < count ($keys); $i++)
    {
        $j = $i+1;
        if($j%$z== 0 ){
            $newarray [$i] = $y[$i-1];
        } else {
          $newarray [$i] = $x[$i];
        }
        
    }
    return $newarray;
}
print_r (match_arrayKeys ($arr1,$arr2, 4));
 
    