<?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);
- Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6 - 8.3.7
- Array
(
[0] => Array
(
[product_type] => manufacturer
[id] => 2
)
[1] => Array
(
[product_type] => seller
)
[2] => Array
(
[product_type] => seller
)
[3] => Array
(
[product_type] => manufacturer
[id] => 1
)
[4] => Array
(
[product_type] => seller
)
[5] => Array
(
[product_type] => seller
)
[6] => Array
(
[product_type] => seller
)
[7] => Array
(
[product_type] => manufacturer
[id] => 3
)
)
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Array
(
[0] => Array
(
[product_type] => manufacturer
[id] => 2
)
[1] => Array
(
[product_type] => seller
)
[2] => Array
(
[product_type] => seller
)
[3] => Array
(
[product_type] => manufacturer
[id] => 1
)
[4] => Array
(
[product_type] => seller
)
[5] => Array
(
[product_type] => seller
)
[6] => Array
(
[product_type] => seller
)
[7] => Array
(
[product_type] => manufacturer
[id] => 3
)
)
preferences:
161.13 ms | 404 KiB | 150 Q