array_diff ( array
$array1
, array $array2
[, array $...
] ) : array
對比 array1
和其他一個或者多個數組,返回在 array1
中但是不在其他 array 里的值。
<?php /** * Created by PhpStorm. * User: mac * Date: 2019/4/13 * Time: 09:37 */ /** * array_diff ( array $array1 , array $array2 [, array $... ] ) : array 對比 array1 和其他一個或者多個數組,返回在 array1 中但是不在其他 array 里的值。 */ $arr1 = [1,3,4,6,9]; //比如修改用戶權限 新加的權限 $arr2 = [2,3,6,8,10]; // 舊有的權限 echo "<pre>"; print_r(array_diff($arr1,$arr2)); //最新的需要插入的權限 print_r(array_diff($arr2,$arr1)); //需要刪除的舊有的,比當前提交過來的權限多的
/**************************************************/
$arr1 = [1,3,4,6,9]; //比如修改用戶權限 新加的權限
$arr2 = [2,3,6,8,10]; // 舊有的權限
$arr3 = [1,2,3,4,5];
echo "<pre>";
print_r(array_diff($arr1,$arr2,$arr3)); //最新的需要插入的權限
print_r(array_diff($arr2,$arr1,$arr3)); //需要刪除的舊有的,比當前提交過來的權限多的
$arr4 = array_unique(array_merge($arr2,$arr3));
print_r($arr4);
print_r(array_diff($arr1,$arr4));
//當有第三個參數的時候 是指第一個和 后面所有的數組進行對比