<?php
$array = [
["key" => 0, "value" => 25],
["key" => 1, "value" => 25],
["key" => 2, "value" => 25],
["key" => 3, "value" => 33],
["key" => 4, "value" => 45],
["key" => 5, "value" => 66],
["key" => 6, "value" => 66],
["key" => 7, "value" => 66],
["key" => 8, "value" => 66],
["key" => 9, "value" => 55],
];
$r = [];
$lastKey = '';
foreach($array as $k => $v){
if(in_array($v['value'], array_column($r, 'value'))){
$lastKey = $v['key'];
}else{
if($lastKey && !in_array($lastKey, array_column($r, 'key'))){
end($r);
$r[] = [ 'key' => $lastKey, 'value' => $r[key($r)]['value']];
}
$r[] = [ 'key' => $v['key'] , 'value' => $v['value'] ];
$lastKey = $v['key'];
}
}
echo '<pre>';
print_r($r);
preferences:
25.46 ms | 408 KiB | 5 Q