将PHP in_array与多数组一起使用

时间:2014-06-03 12:08:40

标签: php multidimensional-array

我想使用与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。

1 个答案:

答案 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)