将一个数组合并为多个数组
Combine One array to several array
我有以下内容:
$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。
第二联赛是 "Bundesliga",这个联赛有 2 支球队:FC Salzburg 和 WSG Tirol。
现在我想把这支球队加入联盟(就像我最后的输出代码)。
替换
$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
相同。
我有以下内容:
$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。
第二联赛是 "Bundesliga",这个联赛有 2 支球队:FC Salzburg 和 WSG Tirol。
现在我想把这支球队加入联盟(就像我最后的输出代码)。
替换
$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
相同。