PHP - 有没有办法像 SQL 语句“SELECT”那样搜索嵌套数组?

问题描述 投票:0回答:1

假设我有这个嵌套数组

array = [
        0 = {
            "product_no" = 1,
            "product_category" = "tool"
            },
        1 = {
            "product_no" = 2,
            "product_category" = "food"
            },
        2 = {
            "product_no" = 3,
            "product_category" = "tool"
            },
        3 = {
            "product_no" = 4,
            "product_category" = "medicine"
            }
        ]

我想获取产品类别为“工具”的对象

我总是可以尝试 foreach 但我认为它不是很有效率。有更好的方法吗?

php arrays multidimensional-array
1个回答
0
投票

是的,您可以使用 filter() 方法来获取具有“工具”作为其产品类别的对象。这是一个例子:

const array = [
    { "product_no": 1, "product_category": "tool" },
    { "product_no": 2, "product_category": "food" },
    { "product_no": 3, "product_category": "tool" },
    { "product_no": 4, "product_category": "medicine" }
];

const toolProducts = array.filter(obj => obj.product_category === "tool");

console.log(toolProducts);

输出将是:

[
    {
        "product_no": 1,
        "product_category": "tool"
    },
    {
        "product_no": 3,
        "product_category": "tool" 
    }
]

filter() 方法返回一个新数组,其中包含通过提供的函数实现的测试的所有元素。在这种情况下,我们传递一个箭头函数来检查每个对象的 product_category 属性是否等于“工具”。

© www.soinside.com 2019 - 2024. All rights reserved.