PHP数组交集与差集函数

来源:互联网 发布:mac 恢复删除文件 编辑:程序博客网 时间:2024/05/21 18:38
  • array_intersect() : 比较数组的键值(不比较键名),返回交集
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2=array("e"=>"red","f"=>"green","g"=>"blue");$newArr = array_intersect($a1, $a2);print_r($newArr); //Array ( [a] => red [b] => green [c] => blue )
  • array_intersect_assoc() : 比较数组的键值和键名,返回交集
$a1 = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2 = array("a"=>"red","b"=>"green","c"=>"blue");$newArr = array_intersect_assoc($a1,$a2);print_r($newArr); //Array ( [a] => red [b] => green [c] => blue )
  • array_intersect_key() : 比较数组的键名(不比较键值),返回交集
$a1 = array("a"=>"red","b"=>"green","c"=>"blue");$a2 = array("a"=>"red","c"=>"blue","d"=>"pink");$newArr = array_intersect_key($a1,$a2);print_r($newArr); //Array ( [a] => red [c] => blue )
  • array_intersect_ukey() : 使用自定义方法方法比较数组的键名(不比较键值),返回交集
function myfunction($a,$b){    if ($a===$b)    {        return 0;    }    return ($a>$b)?1:-1;}$a1 = array("a"=>"red","b"=>"green","c"=>"blue");$a2 = array("d"=>"red","b"=>"green","e"=>"blue");$newArr = array_intersect_ukey($a1, $a2, 'myfunction');print_r($newArr); //Array ( [b] => green )