基于元素值的Laravel过滤器数组

我有以下数组,我需要对其进行过滤,只得到具有以下特征的元素 type = 1

array:5 [
  0 => array:3 [
    "id" => 1
    "name" => "Agua Corriente"
    "type" => 1
  ]
  1 => array:3 [
    "id" => 2
    "name" => "Cloaca"
    "type" => 1
  ]
  2 => array:3 [
    "id" => 3
    "name" => "Gas Natural"
    "type" => 2
  ]
  3 => array:3 [
    "id" => 4
    "name" => "Internet"
    "type" => 3
  ]
  4 => array:3 [
    "id" => 5
    "name" => "Electricidad"
    "type" => 3
  ]
]

这是预期的结果。

array:2 [
  0 => array:3 [
    "id" => 1
    "name" => "Agua Corriente"
    "type" => 1
  ]
  1 => array:3 [
    "id" => 2
    "name" => "Cloaca"
    "type" => 1
  ]
]

我正试图用 Arr::where 但我没有得到预期的结果,有谁可以帮助我吗?

尊敬的各位

解决方案:

$filteredArray = Arr::where($myArray, function ($value, $key) {
    return $value['type'] == 1;
});

你可以这样使用 Arr::where 在你的数组中,应该可以正常工作。

同样对于这样的事情 laravel系列 有非常方便的工具,你也应该看看它。

如果你想基于一个动态分配的变量进行过滤,大多数情况下,你可以简单地将其注入到你的嵌套函数中,比如。

    $type = 1;
    $filteredArray = Arr::where($myArray, function ($value, $key) use($type) {
        return $value['type'] == $type;
    });

给TA打赏
共{{data.count}}人
人已打赏
未分类

FacetWP地图根据面的选择改变地图标记。

2022-9-9 6:47:18

未分类

如何在PostgreSQL中进行级联舍入?

2022-9-9 6:47:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索