php - 一个接一个地向多维数组添加“简单”数组元素 PHP
问题描述
问题:我想将 Array2 的值一个接一个地添加到多维数组 (array1) 中。
阵列 1:
Array
(
[0] => Array
(
[date] => 2020-01-01
[itemsSold] => 25.00000000
)
[1] => Array
(
[date] => 2020-01-02
[itemsSold] => 50.00000000
)
[2] => Array
(
[date] => 2020-01-03
[itemsSold] => 25.00000000
)
)
数组2:
Array
(
[0] => 10
[1] => 15
[2] => 25
)
目标:
Array
(
[0] => Array
(
[date] => 2020-01-01
[itemsSold] => 25.00000000
[0] => 10
)
[1] => Array
(
[date] => 2020-01-02
[itemsSold] => 50.00000000
[0] => 15
)
[2] => Array
(
[date] => 2020-01-03
[itemsSold] => 25.00000000
[0] => 25
)
)
我从 2021 年 1 月开始学习编程,所以我得到的最佳解决方案是:
foreach ($array1 as $main => $value) {
foreach ($array2 as $sec => $entry) {
$array1[$main][] = $array2[$sec];
}
}
print_r($array1);
输出:
Array
(
[0] => Array
(
[date] => 2020-01-01
[itemsSold] => 25.00000000
[0] => 10
[1] => 15
[2] => 25
)
[1] => Array
(
[date] => 2020-01-02
[itemsSold] => 50.00000000
[0] => 10
[1] => 15
[2] => 25
)
[2] => Array
(
[date] => 2020-01-03
[itemsSold] => 25.00000000
[0] => 10
[1] => 15
[2] => 25
)
)
我在循环中做错了什么?如何将array2的值一个接一个地放入array1?
谢谢你的帮助 ;)
解决方案
您的代码的问题是您在不需要时将一个循环嵌套在另一个循环中。相反,使用循环格式foreach ($array1 as $key => $value)
,以便您可以在 中捕获其索引$key
,然后将其用作$array2
.
foreach ($array1 as $key => $value) {
// Append from $array2 by its index $key
// Using [] will append at index [0]
// You can modify $array1 inside the loop if you
// target it by $key. Notice that we are not using
// $value at all in this loop - only the $key matters.
$array1[$key][] = $array2[$key];
}
print_r($array1);
foreach
&
如果您使用引用,还允许您直接修改值。这有点短:
foreach ($array1 as $key => &$value) {
// Looping over references to $array1 sub-arrays
// means that $value can be modified directly
$value[] = $array2[$key];
}
print_r($array1);
推荐阅读
- pandas - 计算 Pandas 数据框中元素的常见出现次数
- python - 你能帮我解决这个问题吗?我试图用python创建一个简单的计算器
- javascript - 如何从结果集中跳过假期?
- mysql - WP Job Manager 数据库查询
- javascript - 如何更改时间选择器间隔值动态变化?
- python - 如何在 OpenCV 中重新绘制皮肤?
- c# - 在 jenkins 中设置 powershell 构建环境
- javascript - 检测反应滚动到底部元素。滚动顶部
- angular - 角度材料文件上传中的空注射器错误
- javascript - react-google-maps fitBounds 和 panToBounds 不缩放地图