<?php
$array_origin = [
[
"id" => 1,
"category"=>1
],
[
"id" => 2,
"category"=>2
],
];
$array_origin = array_reduce($array_origin, static function($carry, $item) {
$carry[] = $item;
if ($item['category'] === 1) {
$item['category'] = 2;
$carry[] = $item;
}
return $carry;
}, []);
var_dump($array_origin);
- Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- array(3) {
[0]=>
array(2) {
["id"]=>
int(1)
["category"]=>
int(1)
}
[1]=>
array(2) {
["id"]=>
int(1)
["category"]=>
int(2)
}
[2]=>
array(2) {
["id"]=>
int(2)
["category"]=>
int(2)
}
}
preferences:
180.48 ms | 408 KiB | 5 Q