在array_diff

时间:2015-11-02 13:01:50

标签: php arrays codeigniter

我正在使用codeigniter。 我想要使​​用php的array_diff函数来区分两个数组。 由于关联数组,我使用了call_user_func_array并得到了记录。

$result_sun = call_user_func_array('array_merge', $data['sun_holiday']);
$result_sat = call_user_func_array('array_merge', $data['third_sat']);

但是当我要改变这两个数组时,

$result = array_diff($result_sun,$result_sat);

它只显示第一个数组$result_sun的记录。

$result_sun = Array
(
    [0] => 2015-09-06
    [1] => 2015-09-13
    [2] => 2015-09-20
    [3] => 2015-09-27
)

$result_sat = Array
(
    [0] => 2015-09-19
)

那么,为什么差异没有发生?

1 个答案:

答案 0 :(得分:1)

$result1 = array_diff($result_sun,$result_sat);
$result2 = array_diff($result_sat,$result_sun);

$result=array_merge($result1,$result2);

将$ result_sun与一个或多个其他数组进行比较,并返回$ result_sun中任何其他数组中不存在的值。 因此,如果你把你的代码放在那么我们可以提供更准确的答案

,那么两者之间的区别然后合并就会很好