使用PHP in_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搜索差异。

试试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)

相关内容

  • 没有找到相关文章

最新更新