抱歉打扰你。我有这个问题,有两个数组:
一)
$array1 = array(
'фрукт' => array('яблоко', 'груша', 'апельсин', 'лимон'),
'овощь' => array('кабачок', 'капуста', 'патисон'),
'ягода' => array('малина', 'земляника'),
);
$array2 = array(
'фрукт' => array('груша', 'слива', 'апельсин'),
'овощ' => array('кабачок', 'капуста', 'картошка'),
);
我们需要将第二个和第一个进行比较,得到一个新数组,其中只包含 $array2 中没有的值和键。$array1 可能包含根本不在 $array2 中的新键,并且可能在两个数组中都存在的相同键中找到新值。它在 $array1 中,但尚未添加到 $array2 中。请告诉我如何比较 $array1 和 $array2 并得到一个有差异的数组:如果 $array2 中有键,那么在 $array1 中只能找到一个新值,如果 $array2 中没有键,然后将一个新的添加到结果数组键及其所有值中。
你试过什么?
试过 $array_diff()、$array_diff_assoc()。第二个应该可以工作,但返回一个空数组,尽管两个数组存在差异。我试图用两个 foreach 编写自己的函数
foreach ($array1 as $fl) {
foreach ($array2 as $subfl) {
}
}
它也没有工作...
试试这个,如果我正确理解了你的问题:
在输出中,我们得到的元素在 1 个数组中,但不在第二个数组中
两个参数的选项(本质上与 Tunker 选项相同):
不定数量参数的变体。
我们需要对数组进行排序。之后,可以使用“双指针”方法从总大小中求解线。