【问题标题】:how to use array_diff如何使用 array_diff
【发布时间】:2016-11-27 07:28:15
【问题描述】:

这是数组的 print_r,最后一个是结果:

Array ( [0] => 28 [1] => 29 [2] => 30 [3] => 31 [4] => 32 [5] => 33 [6] => 34 ) 

Array ( [0] => 28 [1] => 29 [2] => 30 [3] => 31 [4] => 32 [5] => 33 [6] => 34 [7] => 35 ) 

result:
Array ( [1] => 29 [2] => 30 [3] => 31 [4] => 32 [5] => 33 [6] => 34 )

我想得到一个包含 35 个条目的数组,因为它是唯一一个丢失的数组,由于某种原因,如果我将第二个数组放在函数的第一个位置,我会得到整个第一个数组,我会得到第二个的所有条目。

【问题讨论】:

  • 你的代码在哪里?
  • 如果您只是想知道如何使用该功能,请查看docs,它真的很简单。

标签: php arrays array-difference


【解决方案1】:

使用array_diff 时,将使用first 数组,并与传递的任何其他数组进行检查。

您的35 是这样找到的:

$array1 = Array ( 28, 29, 30, 31, 32, 33, 34 );

$array2 = Array ( 28, 29, 30, 31, 32, 33, 34, 35 );

$diff = array_diff($array2, $array1);

print_r($diff);

给予:

Array
(
    [7] => 35
)

【讨论】:

    【解决方案2】:

    使用数组函数array_diff()你可以实现你想要的。将$arr2$arr1 进行比较,并返回$arr2 中不存在于$arr1 中的值。

    $arr1 = range(28, 34);
    $arr2 = range(28, 35);
    
    $arr = array_diff($arr2, $arr1);
    print_r($arr); // Array ( [7] => 35 )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 2013-06-03
      • 2022-01-26
      • 2011-02-28
      相关资源
      最近更新 更多