将一个数组合并为几个数组

时间:2019-12-07 17:30:21

标签: php arrays array-merge array-combine

我有以下内容:

$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' ];

第一个联赛是“拉里加”,该联赛有4支球队:巴塞罗那足球俱乐部,皇家马德里马洛卡,莱万特UD和巴伦西亚CF。

第二个联赛是“德甲联赛”,该联赛有2支球队:萨尔斯堡足球俱乐部和蒂罗尔WSG。

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

1 个答案:

答案 0 :(得分:0)

替换

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

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

Example

注意: 这些静态数组的长度应该相同。

此举

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

foreach ($staticArray as $name){
    $names[] = $name;
}

没有任何意义。您的$names数组等于$staticArray。因此,您可以使用$staticArray而不是$names数组。

如果您需要定义从$staticArray2到第一个(4,2等)的多个值,则需要定义支持数组,例如[4,2]并创建用于填充数据的特定循环。 $groups

Demo

$sup数组的长度应与$legues相同。