<?php function dump($arr) { print_r($arr); } /**array_diff_ukey() 通过回调函数的方式,返回一个数组在其他数组中不存在键名的值 */ /*$arr1 = array('weburl' => 'bbs.blog.com', 'name' => '博客'); $arr2 = array('url' => 'bbs.blog.com', 'name' => '博客'); function a($k1,$k2){ if($k1===$k2){ return 0; }elseif ($k1>$k2){ return 1; }else{ return -1; } } $arr = array_diff_ukey($arr1, $arr2, "a"); dump($arr); //输出:Array ( [weburl] => bbs.blog.com )*/ /*二、array_diff_uassoc() 通过回调函数的方式,返回一个数组在其他数组中不存在键名和键值得数组元素*/ /*$arr1 = array('url' => 'www.bbs.blog.com', 'name' => '博客'); $arr2 = array('url' => 'bbs.blog.com', 'name' => '博客'); $arr = array_diff_uassoc($arr1, $arr2, 'a'); function a($k1, $k2) { if ($k1 === $k2) { return 0; } elseif ($k1 > $k2) { return 1; } else { return -1; } } dump($arr);*/ //输出:Array ( [url] => www.bbs.blog.com ) /*三、array_intersect() 在两个或多个数组当中,返回键值都相同的,数组元素(第一个数组) * */ /*$arr1 = array('url' => 'www.bbs.blog.com', 'name' => '博客'); $arr2 = array('url' => 'bbs.blog.com', 'name' => '博客'); $arr = array_intersect($arr1, $arr2); dump($arr);*/ //输出:Array ( [name] => 博客 ) /*四、array_intersect_key() 在两个或多个数组当中,返回键名都相同的,数组元素(第一个数组) * */ /*$arr1 = array('url' => 'www.bbs.blog.com', 'name' => '博客01'); $arr2 = array('weburl' => 'bbs.blog.com', 'name' => '我的博客02'); $arr = array_intersect_key($arr1, $arr2); dump($arr);*/ //输出:Array ( [name] => 博客01 ) /*五、array_intersect_assoc() 在两个或多个数组当中,返回键名和键值都相同的,数组元素(第一个数组) * */ /*$arr1 = array('url' => 'www.bbs.blog.com', 'name' => '博客'); $arr2 = array('weburl' => 'bbs.blog.com', 'name' => '博客'); $arr = array_intersect_assoc($arr1, $arr2); dump($arr);*/ //输出:Array ( [name] => 博客 ) /*六、array_intersect_ukey() 通过回调函数的方式,返回第一个数组的键名在其他数组当中同时存在的数组元素 * */ /*$arr1 = array('url' => 'www.bbs.blog.com', 'name' => '博客'); $arr2 = array('url' => 'bbs.blog.com', 'name' => '博客'); $arr = array_intersect_ukey($arr1, $arr2, 'a'); function a($k1, $k2) { if ($k1 === $k2) { return 0; } elseif ($k1 > $k2) { return 1; } else { return -1; } } dump($arr);*/ //输出:Array ( [url] => www.bbs.blog.com [name] => 博客 ) /*七、array_intersect_uassoc() 通过回调函数的方式,返回第一个数组的键名和键值在其他数组当中同时存在的数组元素 * */ /*$arr1 = array('url' => 'www.bbs.blog.com', 'name' => '博客'); $arr2 = array('url' => 'bbs.blog.com', 'name' => '博客'); $arr = array_intersect_uassoc($arr1, $arr2, 'a'); function a($k1, $k2) { if ($k1 === $k2) { return 0; } elseif ($k1 > $k2) { return 1; } else { return -1; } } dump($arr); //输出:Array ( [name] => 博客 )*/