【问题标题】:Filter multi array过滤多阵列
【发布时间】:2018-10-12 13:52:37
【问题描述】:

我想过滤这个数组并得到所有数组 [1] => 1。所以 php 代码必须返回数组 [1]、[2] 和 [4]。我不知道该怎么做,所以我将不胜感激。

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 1
            [2] => data1
        )
    [1] => Array
        (
            [0] => 2
            [1] => 1
            [2] => data2
        )
    [2] => Array
        (
            [0] => 3
            [1] => 2
            [2] => data3
        )
    [3] => Array
        (
            [0] => 4
            [1] => 2
            [2] => data4
        )
    [4] => Array
        (
            [0] => 5
            [1] => 1
            [2] => data5
        )
    [5] => Array
        (
            [0] => 6
            [1] => 3
            [2] => data6
        )
)

【问题讨论】:

标签: php arrays filter


【解决方案1】:

使用简单的 foreach 循环并在项目匹配时追加到新数组将起作用:

$in = [
    [1,1,'data1'],
    [2,1,'data2'],
    [3,2,'data3'],
    [4,2,'data4'],
    [5,1,'data5'],
    [6,3,'data6'],
];

$out = [];
foreach ($in as $arr) {
    if ($arr[1] == 1) {
        $out[] = $arr;
    }
}

var_dump($out);

【讨论】:

    【解决方案2】:

    假设你的父数组被称为 $master:

    foreach ($master as $m)
    {
      if ($m[1] != 1)
      {
        unset($m);
      }
    }
    
    return $master;
    

    【讨论】:

      猜你喜欢
      • 2021-01-12
      • 2020-06-18
      • 1970-01-01
      • 2016-02-10
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多