PHP数组相交不包括空数组

Zai*_*ail 0 php arrays

我有4个数组,每次运行我的代码时都会有所不同.有时,也许是空的.我array_intersect用来从数组集中获取公共值,如果任何一个数组为空,则返回一个空数组.我想array_intersect忽略空数组.

例:

$array1 = array('441', '442', '443');
$array2 = array('441', '443');
$array3 = array('441', '442',);
$array4 = array();

var_dump(array_intersect($array1, $array2, $array3, $array4));

// Returns
array('');

// Required
array('441');
Run Code Online (Sandbox Code Playgroud)

如何使其忽略$array4并输出441

Law*_*one 9

如果将阵列存储为数组,则可以执行以下操作:

<?php
// create array of arrays
$array[] = array('441', '442', '443');
$array[] = array('441', '443');
$array[] = array('441', '442');
$array[] = array();

// filter out empty array
$array = array_filter($array);

// pass in array (inline argument unpacking PHP > 5.6)
print_r(array_intersect(...$array));

Array
(
    [0] => 441
)
Run Code Online (Sandbox Code Playgroud)

https://3v4l.org/MD3r2