Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:过滤二维数组/多维数组_Php_Arrays_Multidimensional Array - Fatal编程技术网

PHP:过滤二维数组/多维数组

PHP:过滤二维数组/多维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我需要有关筛选二维数组的帮助,例如以下示例: array(29) { [0]=> array(2) { [0]=> string(16) "Andorra La Vella" [1]=> string(2) "AD" } [1]=> array(2) { [0]=> string(16) "Andorra La Vella" [1]=> string(

我需要有关筛选二维数组的帮助,例如以下示例:

array(29) { 
    [0]=>  array(2) { 
        [0]=>  string(16) "Andorra La Vella" 
        [1]=>  string(2) "AD"
    }
    [1]=>  array(2) { 
        [0]=>  string(16) "Andorra La Vella" 
        [1]=>  string(2) "AD" 
    }
    [2]=>  array(2) { 
        [0]=>  string(16) "Andorra La Vella" 
        [1]=>  string(2) "AD" 
    }
    [3]=>  array(2) { 
        [0]=>  string(16) "Andorra La Vella" 
        [1]=>  string(2) "AD" 
    }
    [4]=>  array(2) { 
        [0]=>  string(12) "Les Escaldes" 
        [1]=>  string(2) "AD" 
    }...
如何从阵列中筛选任何冗余值?例如键[0]与键[1][2][3]具有相同的值,我想从数组中删除此冗余值

我尝试了
array\u filter()
,但没有成功。我尝试了
array\u splice()
unset()
,两种方法都没有成功

php是否为此提供了任何本机数组函数

谢谢,
aji能做到这一点吗?不确定它是否适用于嵌套数组

编辑:不,它做不到

注意:注意数组_unique()不是 打算在多维空间上工作 数组


如果您想删除重复项,您可以在另一个上找到更多信息

享受吧


PHP 5.3的匿名函数看起来多么干净。

No:Note:注意,array_unique()不适用于多维数组。这些值被转换为字符串值,然后进行比较。我认为这不管用。嗨,本,我也试过array_unique(),但没用。它只返回29个阵列中的1个阵列。谢谢,~ajiWhat首先返回数组?不幸的是,我使用了PHP4:)
    $to_filter = array(); // your array
    $filtered = array(); // unique values

    array_walk($to_filter, function($v, $k) use (&$filtered) {
        if(!in_array($v, $filtered)) {
            $filtered[] = $v;
        }
    });