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():用回調函數過濾數組中的單元。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM