代码之家  ›  专栏  ›  技术社区  ›  Robert Tillman

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

  •  0
  • Robert Tillman  · 技术社区  · 6 年前

    我有两个数组:

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

    我需要制定逻辑来:

    a)检查 $newArr 反对 $currentArr 告诉我删除了什么和添加了什么

    b)将删除的值推送到新的单独数组中,并将添加的值推送到新的单独数组中。

    因为我对PHP不是很精通,所以这是可能的吗?如果是,我怎么做?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Jeff    6 年前

    array_diff()

    <?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 )
    
        2
  •  0
  •   bcperth    6 年前

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