PHP数组保留指定的键


PHP array keep specified key

我有这个数组

$array = Array(
    '0' => Array('id' => '5', 'class' => 'A'),
    '1' => Array('id' => '53', 'class' => 'B'),
    '2' => Array('id' => '2', 'class' => 'C'),
);

例如,如果类是"B",我希望只保留键1;

这是我的代码,但工作不正确:

foreach ($array as $key => $values) {
    $array[$key]['description'] = 'dadadadad';
    if ($values['class'] == 'B') {
        $array = array_intersect_key($array, array_flip(Array($key)));
    }
}

请帮帮我。

使用array_filter:

$a = array_filter($a, function($item) {
  return $item['class'] === 'B';
});

根据文档,使用array_filter时,"保留数组键"。