我想使用与in_array相同的原理,但是使用双数组并且只搜索第一个值。让我解释一下:
$array_1 = [["1","aaa"],["2","bbb"],["3","aaa"],["4","ddd"]]
$array_2 = [["2","bbb"],["3","aaa"],["4","ddd"]]
现在我想要函数return [“1”,“aaa”],因为这部分不在第二个数组中。但是我想只用id(数字1,2,3和4)搜索差异,而不是搜索类似的文本,但不是id。
答案 0 :(得分:1)
试试array_udiff
功能:
$array_1 = [["1", "aaa"], ["2", "bbb"], ["3", "aaa"], ["4", "ddd"]];
$array_2 = [["2", "bbb"], ["3", "aaa"], ["4", "ddd"]];
$output = array_udiff($array_1, $array_2, function($a, $b){
if ($a[0] < $b[0]) {
return -1;
} else if ($a[0] > $b[0]) {
return 1;
}
return 0;
});
var_dump($output);
输出:
array (size=1)
0 =>
array (size=2)
0 => string '1' (length=1)
1 => string 'aaa' (length=3)