Вы пробовали использовать array_filter()
?
$r = array_filter($a, function($var) {
return ($var['two'] === 2);
});
Вывод вышеупомянутого немного отличается от вашего исходного кода:
Yours:
array(
0 => array('one' => 1, 'two' => 2),
1 => array('one' => 5, 'two' => 2)
)
Using array_filter:
array(
0 => array('one' => 1, 'two' => 2),
2 => array('one' => 5, 'two' => 2) // Note the key is 2, not 1
)
Если вам нужно свернуть ключи, вы можете выполнить array_filter()
с помощью array_values()
или array_multisort()