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条)

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度