に連続した値を削除します私は以下の次の配列を持つ2つの次元配列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は、ユーザIDです。今度は90と91キーの中で連続値を削除したい、例えばdept 297のように1回だけ返すべきです。 私が欲しいの出力は次のようになります。
$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
),
)
);
あなたは297が一度だけ返さDEPT IDを見ることができるように。
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が繰り返されるため、正解ではありません。一度チェックしてください –