记录,第一次贴代码:
/***
* 根据条件筛选数据
* @param $arr_data 源数据(数组)
* @param $arr_key_value 筛选条件(数组)
* 返回:满足筛选条件的数据集合(数组)
* 数组:$arr: [{id: 1, name: 'a'}, {id: 2, name: 'b'}, {id: 3, name: 'c'}];
* 使用:
* find_data_row($arr, array('id'=> 1, 'name'=>'a'));
*/
function find_data_row($arr_data, $arr_key_value)
{
return array_filter($arr_data, function($obj) use ($arr_key_value) {
foreach ($arr_key_value as $key => $value) {
// 注意:筛选条件中的类型和值 要和数据源中的完全相等
// 如有必要,也可以将这里的 !== 改为 !=。
if($obj[$key] !== $value) {
return false;
}
}
return true;
}, ARRAY_FILTER_USE_BOTH);
}