将一个数组合并到多个数组

我有以下内容:


$staticArray = ['group_1', 'group_2'];


foreach ($staticArray as $name){

    $names[] = $name;

}


$staticArray2 = ['one', 'two'];


$i = 0;

foreach ($staticArray2 as $name){


    $item['group']['name']   = $names;

    $item['group']['user_1']   = 'Peter';

    $item['group']['user_2'] = 'Jack';


    $groups[] = $item;


    $i++;

}

上面的代码输出是这样的:


[ {

group: {

    name: [

       "group_1",

       "group_2",

       "group_1",

       "group_2"

   ],

    user_1: "Peter",

    user_2: "Jack"

   }

},


{

group: {

   name: [

      "group_1",

      "group_2",

      "group_1",

      "group_2"

   ],

   user_1: "Peter",

   user_2: "Jack"

  }

} ]

我怎样才能编辑第一个代码看起来像这样:


{

   group: {

      name: "group_1", //group 1

      user_1: "Peter",

      user_2: "Jack"

   },

   group: {

      name: "group_2", //group 2

      user_1: "Peter",

      user_2: "Jack"

   }

}

$staticArray和$staticArray2是两个静态变量,所以这两项不能编辑。


如果你不明白我的意思。读这个:


我有两个数组:


$legues = [ 'Laliga', 'Bundesliga', '...' ];


$teams  = [ 'FC Barcelona', 'RCD Mallorca', 'UD Levante', 'CF Valencia', 'FC Salzburg', 'WSG Tirol' ];

第一个联赛是“Laliga”,这个联赛有 4 支球队:FC Barcelona、RCD Mallorca、UD Levante 和 CF Valencia。


第二个联赛是“德甲”,这个联赛有 2 支球队:FC Salzburg 和 WSG Tirol。


现在我想把这支球队加入联盟(就像我最后的输出代码一样)。


墨色风雨
浏览 102回答 1
1回答

侃侃无极

代替$item['group']['name']   = $names;和$item['group']['name']   = $names[$i];注意: 这些静态数组的长度应该相同。这一举动$staticArray = ['group_1', 'group_2'];foreach ($staticArray as $name){    $names[] = $name;}没有意义。你的$names数组等于$staticArray。因此,您可以使用$staticArray而不是$names数组。如果您需要定义从$staticArray2第一个到第一个值(4,2 等)的多个值,则需要定义支持数组,例如[4,2]并创建特定循环以在$groups.这里$sup数组的长度应该与$legues.
打开App,查看更多内容
随时随地看视频慕课网APP