首页 > 解决方案 > 过滤多阵列

问题描述

我想过滤这个数组并获取所有数组 [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
        )
)

标签: phparraysfilter

解决方案


使用简单的 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);

推荐阅读