PHP使用array_filter查找二维数组中符合指定字段和字段值的数据集合
1、方法:
1 /** 2 * 获取符合字段和字段值的数组集合 3 * @param array $data 待过滤数组 4 * @param string $field 要查找的字段 5 * @param $value 要查找的字段值 6 * @return array 返回所有符合要求的数组集合 7 */ 8 public static function arrayFilterFieldValue(array $data, string $field, $value) 9 { 10 $data = array_filter($data, function ($row) use ($field, $value) { 11 if (isset($row[$field])) { 12 return $row[$field] == $value; 13 } 14 }); 15 return $data; 16 }
2、示例,查找下面二维数组中name为“张三”的所有数据,原数组如下:
3、调用方式如下:
1 $arr = [ 2 [ 3 'id' => 1, 4 'name' => '张三', 5 ], [ 6 'id' => 2, 7 'name' => '李四', 8 ], [ 9 'id' => 3, 10 'name' => '王五', 11 ], [ 12 'id' => 4, 13 'name' => '马六', 14 ], [ 15 'id' => 5, 16 'name' => '张三', 17 ], [ 18 'id' => 6, 19 'name' => '张三', 20 ], [ 21 'id' => 6, 22 'name' => '李四', 23 ], 24 ]; 25 $data = Helper::arrayFilterFieldValue($arr, 'name', '张三');
4、打印$data结果如下:
5、相关函数:
array_filter():用回调函数过滤数组中的单元。
posted on 2020-07-10 17:54 Rover_Lee 阅读(2801) 评论(1) 编辑 收藏 举报