005——数组(五)array_diff_ukey()array_diff_uassoc()array_intersect()array_intersect_assoc()array_intersec...

本文详细介绍了PHP中数组操作的相关函数,包括array_diff_ukey、array_diff_uassoc等用于比较数组差异性的函数,以及array_intersect系列函数,用于找出数组间的共同元素。通过具体的代码示例,展示了如何使用这些函数进行数组的对比和交集运算。
<?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] => 博客 )*/
  

  

转载于:https://www.cnblogs.com/yiweiyihang/p/7820955.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值