如何在php中比较数组的加法和减法?

时间:2018-07-28 23:12:55

标签: php arrays comparison

我有两个数组:

$currentArr = ['apples','oranges','pears'];

$newArr = ['apples','oranges','pears', 'grapes'];

我需要制定将要执行的逻辑:

a)将$newArr$currentArr对照,并告诉我已删除的内容和已添加的内容

b)将删除的值压入一个新的单独的数组,并将添加的值压入一个新的单独的数组

由于我不太精通PHP,这可能吗?如果是这样,我该怎么办?

2 个答案:

答案 0 :(得分:1)

array_diff()是您所需要的:

  

返回一个数组,其中包含来自array1的所有其他数组中不存在的条目。

<?php

$currentArr = ['apples','oranges','pears','test'];
$newArr = ['apples','oranges','pears', 'grapes'];

$removed = array_diff($currentArr, $newArr);
print_r($removed);
// output: 
// Array ( [3] => test )

// switch the order to get the added items:
$added = array_diff($newArr, $currentArr);
print_r($added);
// output:
// Array ( [3] => grapes )

答案 1 :(得分:0)

arr_diff($ a,$ b)是一个函数,该函数返回一个新数组,其中包含$ a中不在$ b中的项目。

$removed = array_diff($currentAr,$newArr);
$added = array_diff($newArr,$currentAr);