筛选对象数组,根据条件筛选数据源,返回结果集

浏览:1069 发布日期:2018/11/20 分类:功能实现 关键字: 筛选
筛选对象数组,根据条件筛选数据源,返回结果集
记录,第一次贴代码:/***
 * 根据条件筛选数据
 * @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);
}
评论( 相关
后面还有条评论,点击查看>>