在每次迭代两个数组时调用array_udiff函数,可以使用循环来实现。以下是一个示例代码:
$array1 = [1, 2, 3, 4, 5];
$array2 = [2, 4, 6];
function compare($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
$diff = [];
foreach ($array1 as $value) {
$found = false;
foreach ($array2 as $value2) {
if (compare($value, $value2) === 0) {
$found = true;
break;
}
}
if (!$found) {
$diff[] = $value;
}
}
print_r($diff);
在上述示例中,我们使用了两个循环来迭代数组$array1和$array2。在每次迭代中,我们调用了自定义的compare函数来比较数组元素。如果compare函数返回0,则表示两个元素相等,我们将found标志设置为true。如果在$array2中没有找到相同的元素,则将该元素添加到$diff数组中。
最后,我们使用print_r函数来输出$diff数组,其中包含$array1与$array2的差异部分。