Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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 如何在一个数组中使用数组_intersect_Php_Arrays_Array Intersect - Fatal编程技术网

Php 如何在一个数组中使用数组_intersect

Php 如何在一个数组中使用数组_intersect,php,arrays,array-intersect,Php,Arrays,Array Intersect,我有这个数组,我想将每个关键项相互比较,得到与数组_intersect相似的结果。我写了这段代码,但它只是比较前两个关键项,我想比较所有关键项 如果希望初始数组中所有数组的交点,则需要执行元素与先前元素的交点: $arr = [ 0=>[...], 1=>[...], 2=>[...], ]; $intersection = array_pop($arr); foreach($arr as $el) $intersection = array

我有这个数组,我想将每个关键项相互比较,得到与数组_intersect相似的结果。我写了这段代码,但它只是比较前两个关键项,我想比较所有关键项


如果希望初始数组中所有数组的交点,则需要执行元素与先前元素的交点:

$arr = [ 
    0=>[...],
    1=>[...],
    2=>[...],
];
$intersection = array_pop($arr);
foreach($arr as $el)
    $intersection = array_intersect($arr, $intersection);

print_r($intersection);

请注意,在您的示例中,您有1+个空数组,因此交叉点将是一个空数组

请提供一个最小的可复制示例,可能带有输入测试和所需输出。您知道,array_intersect需要两个数组来比较值,它将返回两个数组之间具有相似性的数组,现在,我想考虑每个键的值作为数组,并将其传递给ARARYAY交叉点进行比较。我的欲望输出?在所有值之间具有所有相似值的数组。换句话说,您只需要顶级数组的每个键下出现的值?我只能假设您希望忽略空数组,因为它们会导致每个交集都是空数组。但是您有两个空数组,与它们的交集显然是空数组,因此您确定要所有数组的交集吗?是的,完全正确!如何做到这一点?而且也没有任何空数组,在将其添加到最终结果之前将其删除
$arr = [ 
    0=>[...],
    1=>[...],
    2=>[...],
];
$intersection = array_pop($arr);
foreach($arr as $el)
    $intersection = array_intersect($arr, $intersection);

print_r($intersection);