PHP数组交集与差集函数

  • 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 )
发布了44 篇原创文章 · 获赞 36 · 访问量 18万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章