3v4l.org

run code in 500+ PHP versions simultaneously
<?php $arr1 = array( 0 => ['product_type'=>'manufacturer','id'=>1], 1 => ['product_type'=>'manufacturer','id'=>2], 2 => ['product_type'=>'seller'], 3 => ['product_type'=>'seller'], 4 => ['product_type'=>'seller'], 5 => ['product_type'=>'seller'], 6 => ['product_type'=>'seller'], 7 => ['product_type'=>'manufacturer','id'=>3], ) ; function rearrange(&$arr, $n) { for ($i = 0; $i < $n; $i++) { $j = $i+1; if($arr[$i]['product_type'] =='manufacturer'){ if($j%4!= 0){ //echo $i; $temp = $arr[$i]; $arr[$i] = $arr[$i + 1]; $arr[$i + 1] = $temp; } else { if ($i==0 || $i==1 || $i==2) { $temp = $arr[$i]; $arr[$i] = $arr[$i + 1]; $arr[$i + 1] = $temp; } else { $temp = $arr[$i]; $arr[$i] = $temp; } } } else { $temp = $arr[$i]; $arr[$i] = $temp; } } return $arr; } $keys = array_keys ($arr1); $n = count ($keys); $arr = rearrange($arr1, $n); print_r($arr);

preferences:
78.66 ms | 1544 KiB | 5 Q