douke7274 2017-02-01 08:04
浏览 49
已采纳

PHP数组与相同的键合并

I try to merge 2 arrays where keys are same.

This is my array:

[username] => Array
    (
        [3805120] => 5
        [3805121] => 7
    )

[login] => Array
    (
        [3805120] => 9
        [3805121] => 11
    )

I need something like this:

[3805120] => Array
    (
        [0] => 5
        [1] => 9
    )

[3805121] => Array
    (
        [0] => 7
        [1] => 11
    )
  • 写回答

2条回答 默认 最新

  • dongnius85154 2017-02-01 08:09
    关注

    Pretty simple. You need a nested loop that sets the subarray's keys as the new array's keys and use the [] in order the new values will be "added" to the array with an auto increase value [0,1,...n].

    [username] => Array ( [3805120] => 5 [3805121] => 7 )

    [login] => Array ( [3805120] => 9 [3805121] => 11 )

    // $array is the original array
    $newArray = array();
    
    foreach($array as $key => $subarray){
      //key: username, login
      foreach($subarray as $j => $k){
        //j: 3805120, 3805121
        //k: 5,7,9,11
        $newArray[$j][] = $k;
        //1st round: $newArray[3805120][0] = 5, $newArray[3805121][0] = 7
        //2nd round: $newArray[3805120][1] = 9, $newArray[3805121][1] = 11 
      }
    }
    
    var_dump($newArray);
    

    Output:

    array(2) { [3805120]=> array(2) { [0]=> string(1) "5" [1]=> string(1) "9" } [3805121]=> array(2) { [0]=> string(1) "7" [1]=> string(2) "11" } }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么