php 多个二维数组 根据关联数据进行拼接

6 篇文章 0 订阅
public function test(){

    $arr = [
        'a'=>['a',2],
        'b'=>['b',3]
    ];

    $arr2 = [
        'a'=>['a',5],
        'b'=>['b',6]
    ];

    $data = [];

    foreach ($arr as $key=>$val){
        if ($arr2[$key]){
            $data[] = array_unique(array_merge($val,$arr2[$key]));
        }
    }

    dump($data);
}
public function test2(){

    $arr = [
        ['name'=>'a','age'=>2],
        ['name'=>'b','age'=>6],
    ];

    foreach ($arr as $k1=>$v1){
        $data[$v1['name']]= $v1;
    }
    $arr2 = [
        ['name'=>'n','len'=>2,'openid'=>'dajskdjak'],
        ['name'=>'a','len'=>6,'openid'=>'dajskdjdak'],
        ['name'=>'c','len'=>5,'openid'=>'dajskdajak'],
        ['name'=>'b','len'=>5,'openid'=>'dajskddjak'],
    ];

    $arr3 = [
        ['openid'=>'dajskdjdak','heght'=>2],
        ['openid'=>'dajskddjak','heght'=>6],
        ['openid'=>'dajskdjak','heght'=>6],
    ];
    foreach ($arr3 as $k2=>$v2){
        $data3[$v2['openid']]= $v2;
    }

    foreach ($arr2 as $key=>$value){
            if (!empty($data[$value['name']])&&!empty($data3[$value['openid']])){
                $value['age'] = $data[$value['name']]['age'];
                $value['openid'] = $data3[$value['openid']]['openid'];
                $list[] = $value;
            }
    }
    dump($list);

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值