download12749 2015-04-15 11:36
浏览 29
已采纳

合并2个不同的数组并在php中形成一个数组

I need to merge two different arrays and form a single array. The key field has the same value in both arrays.

$array1=Array ( 
[0] => Array ( [key] => 39 [url] => www.youtube.com/embed/23sdg234 ) 
[1] => Array ( [key] => 39 [url] => player.vimeo.com/video/s3423sfsdf ) 
[2] => Array ( [key] => 39 [url] => www.youtube.com/embed/wersd2323 )
[3] => Array ( [key] => 40 [url] => www.youtube.com/embed/3423sfsd )
[4] => Array ( [key] => 40 [url] => www.youtube.com/embed/asd23423 )
) 

The array1 needs to get values [firstName],[lastName] from array2 based on key=key1

$array2=Array ( 
[0] => Array ( [key1] => 39 [firstName] => xyz [lastName] => s )
[1] => Array ( [key1] => 40 [firstName] => abc [lastName] => e )
) 

The result should be formed as below array.

$result=Array ( 
[0] => Array ( [key] => 39  [firstName] => xyz [lastName] => s [url] => www.youtube.com/embed/23sdg234 ) 
[1] => Array ( [key] => 39  [firstName] => xyz [lastName] => s [url] => player.vimeo.com/video/s3423sfsdf ) 
[2] => Array ( [key] => 39  [firstName] => xyz [lastName] => s [url] => www.youtube.com/embed/wersd2323 )
[3] => Array ( [key] => 40  [firstName] => abc [lastName] => e [url] => www.youtube.com/embed/3423sfsd )
[4] => Array ( [key] => 40  [firstName] => abc [lastName] => e [url] => www.youtube.com/embed/asd23423 )
) 

thank you so much in advance.

  • 写回答

4条回答 默认 最新

  • dslijian2015 2015-04-15 12:19
    关注
    $array1=Array ( 
    0 => Array ( 'key' => 39, 'url' => "www.youtube.com/embed/23sdg234" ),
    1 => Array ( 'key' => 39, 'url' => "player.vimeo.com/video/s3423sfsdf" ), 
    2 => Array ( 'key' => 39, 'url' => "www.youtube.com/embed/wersd2323" ),
    3 => Array ( 'key' => 40, 'url' => "www.youtube.com/embed/3423sfsd" ),
    4 => Array ( 'key' => 40, 'url' => "www.youtube.com/embed/asd23423" ),
    );
    $array2=Array ( 
    0 => Array ( 'key1' => 39, 'firstName' => 'xyz', 'lastName' => 's' ),
    1 => Array ( 'key1' => 40, 'firstName' => 'abc', 'lastName' => 'e' ),
    );
    $result=array();
    
    foreach($array1 as $da){
        $fName='';
        $lName='';
        foreach($array2 as $da2){
            if($da['key']==$da2['key1']){
                $fName=$da2['firstName'];
                $lName=$da2['lastName'];
                break;
            }
        }
        $result[]=array(
            'key'=>$da['key'],
            'firstName'=>$fName,
            'lastName'=>$lName,
            'url'=>$da['url'],
        );
    }
    print_r($result);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行