首页 > 后端开发 > php教程 > 如何在 PHP 中根据特定键的值过滤二维数组?

如何在 PHP 中根据特定键的值过滤二维数组?

Patricia Arquette
发布: 2024-12-02 10:55:11
原创
154 人浏览过

How Can I Filter a Two-Dimensional Array in PHP Based on a Specific Key's Value?

按特定值过滤二维数组

按特定值过滤多维数组可以通过各种编程技术来完成。在 PHP 中,array_filter 函数提供了一种方便的方法来实现此目的。

通过特定键值过滤二维数组

过滤二维数组维数组由特定值表示,可以使用 array_filter 函数和回调函数。回调函数应该评估数组的每个元素,如果满足所需的条件,则返回 true。

例如,考虑给定的数组,我们要通过值为 'CarEnquiry 的 'name' 键进行过滤':

$arr = [
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'CarEnquiry',
        'status' => 'NEW',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'CarEnquiry',
        'status' => 'CALL1',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'Finance',
        'status' => 'CALL2',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'Partex',
        'status' => 'CALL3',
        'appointment' => 0
    ]
];
登录后复制

以下代码片段演示了如何过滤数组:

$new = array_filter($arr, function ($var) {
    return ($var['name'] == 'CarEnquiry');
});
登录后复制

在本例中,回调函数($var['name'] == 'CarEnquiry') 检查每个数组元素的 'name' 值是否等于 'CarEnquiry'。如果为 true,则该元素包含在过滤数组 ($new) 中。

按可互换值过滤

如果过滤器值需要互换,例如如“CarEnquiry”或“Finance”,可以对回调进行轻微修改函数:

$filterBy = 'CarEnquiry'; // or Finance etc.

$new = array_filter($arr, function ($var) use ($filterBy) {
    return ($var['name'] == $filterBy);
});
登录后复制

通过引入 $filterBy 变量,过滤条件变得动态,允许根据需要按不同值进行过滤。

以上是如何在 PHP 中根据特定键的值过滤二维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板