У меня есть следующий массив ниже:Удалить последовательные значения в двумерном массиве PHP
$array = array(
'90' => array (
'11:00' => array(
' dept' => 297
),
'11:01' => array(
'dept' => 297
),
'11:02' => array(
' dept' => 884
),
'11:03' => array(
'dept' => 297
),
),
'91' => array (
'11:00' => array(
'dept' => 297
),
'11:01' => array(
'dept' => 297
),
)
);
90 и 91 являются идентификатор пользователя. Теперь внутри клавиши 90 и 91 я хочу удалить последовательное значение, например, отдел 297 должен возвращаться только один раз. Выход я хочу это:
$array = array(
'90' => array (
'11:00' => array(
'dept' => 297
),
'11:02' => array(
' dept' => 884
),
'11:03' => array(
'dept' => 297
),
),
'91' => array (
'11:00' => array(
'dept' => 297
),
)
);
Как вы можете видеть DEPT идентификатор 297 возвращаемый только один раз.
Я попытался код ниже:
function filterSuccessiveDuplicates($array)
{
$result = array();
$lastValue = null;
foreach ($array as $arr =>$value){
$value = array_values($value);
foreach($value as $k => $v){
if ($v['dept'] !== $lastValue) {
$result[$arr][$k] = $v;
}
$lastValue = $v['dept'];
}
}
return $result;
}
print_r(filterSuccessiveDuplicates($array));
но не работает. Результат не то, что я хочу. Любая помощь?
useruseruser, что неверно, потому что повтор 297. check once –