PHP数组保持指定键

时间:2014-08-25 07:57:28

标签: php arrays

我有这个数组

$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)));
    }

}

请帮帮我。

1 个答案:

答案 0 :(得分:2)

使用array_filter

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

根据文档,使用array_filter时会保留“数组键”。