Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 foreach中的数组_diff?_Php_Loops_Diff - Fatal编程技术网

Php foreach中的数组_diff?

Php foreach中的数组_diff?,php,loops,diff,Php,Loops,Diff,我需要比较一些数组中的值。 这个数组是多维的,我需要比较里面的数组 这里是转储: php 我想使用类似于array\u diff的方法来比较不同的数组,但是。。。即使看起来很愚蠢,我也不知道怎么做。 我想我希望“提取”4个数组,以便能够比较它们 有人能给我解释一个好方法吗? 非常感谢。您的预期输出可能重复?@DrakulaPredatorم我希望“提取”4个数组,以便能够对它们进行比较。同意,但请使用预期输出数组更新您的问题。比较是什么意思? <?php $arr = [ ['9

我需要比较一些数组中的值。 这个数组是多维的,我需要比较里面的数组

这里是转储:

php

我想使用类似于
array\u diff
的方法来比较不同的数组,但是。。。即使看起来很愚蠢,我也不知道怎么做。 我想我希望“提取”4个数组,以便能够比较它们

有人能给我解释一个好方法吗?
非常感谢。

您的预期输出可能重复?@DrakulaPredatorم我希望“提取”4个数组,以便能够对它们进行比较。同意,但请使用预期输出数组更新您的问题。
比较
是什么意思?
<?php

$arr = [
    ['96','90','91'],
    ['96','90','91'],
    ['96','90','91','98'],
    ['96','90','91','98'],
];

$set = [];

foreach ($arr as $values) {
    foreach($values as $each_value){
        if(!isset($set[$each_value])) $set[$each_value] = true;
    }
}

$result = [];

$set = array_keys($set);

foreach ($arr as $values) {
    foreach($set as $value){
        if(!in_array($value,$values)) $result[] = $value;
    }
}

$result = array_unique($result);

print_r($result);
<?php

$arr = [
    ['96','90','91'],
    ['96','90','91'],
    ['96','90','91','98'],
    ['96','90','91','98'],
];

$set = [];

foreach ($arr as $values) {
    foreach($values as $each_value){
        if(!isset($set[$each_value])) $set[$each_value] = true;
    }
}

$result = [];

$set = array_keys($set);

foreach ($arr as $values) {
    foreach($set as $value){
        if(!in_array($value,$values)) $result[] = $value;
    }
}

$result = array_unique($result);

print_r($result);