I have an multidimensional array and i'd like to filter by many values.
$datas = [
[
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
'gender' => 'male'
],
[
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
'gender' => 'female'
],
[
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Doe',
'gender' => 'female'
],
[
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
'gender' => 'male'
],
[
'id' => 7216,
'first_name' => 'Mike',
'last_name' => 'Lill',
'gender' => 'male'
]
];
I have combined the methods of array_filter
and array_search
and got a good result but this only does the filtering of only one value. I'd like something like this...
array_filter(
$datas,
function ($key) {
return array_search(['Doe', 'male'...], $key);
});
And its give
array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
'gender' => 'male'
),
array(
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
'gender' => 'male'
)
)