php - 将一个数组合并到多个数组
问题描述
我有以下内容:
$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。
现在我想把这支球队加入联盟(就像我最后的输出代码一样)。
解决方案
代替
$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
.
推荐阅读
- magento2 - 在 Magento2 如何为特定商店创建自定义较少文件?
- javascript - 单击两次禁用折叠
- java - 使用存储访问框架打开特定路径
- ios - XCode UI测试长按左右拖拽按钮
- elasticsearch - 日期之间的 Elasticsearch 聚合字段
- ruby-on-rails-4 - 如何使用符号调用活动记录搜索
- java - 如何将对象 (JAXB) 或 byte[] (来自此对象) 转换为 `org.w3c.dom.Element`?
- javascript - 使用 NodeJS 和 Mongoose 在 MongoDB 中打开了多个连接
- c# - 在 Crystal Reports 中获取数据库字段名称
- android - 如何使用虚线选择调整 TextView 高度、宽度和旋转