php查询数组有没有特定字段,PHP使用array_filter查找二维数组中符合指定字段和字段值的数据集合...

本文介绍了一个PHP静态方法`arrayFilterFieldValue`,该方法用于从二维数组中筛选出指定字段值的数据。通过传入待过滤的数组、字段名和字段值,返回匹配条件的所有数组集合。示例中展示了如何找出数组中`name`字段为'张三'的所有数据。
摘要由CSDN通过智能技术生成

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为“张三”的所有数据,原数组如下:

6132787a7ac2c3948989144221331394.png

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结果如下:

d4c14a23468f3f186b8997773d4c66a7.png

5、相关函数:

array_filter():用回调函数过滤数组中的单元。

来源:https://www.cnblogs.com/muzi-lee/p/13280532.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值