我想添加从$secondArray
到$firstArray
的值:
$firstArray = [
0 => [
'prodID' => 101,
'enabled' => 1,
],
1 => [
'prodID' => 105,
'enabled' => 0,
],
];
$secondArray
将始终具有相同数量的数组项,并且将以与$firstArray
相同的顺序排列:
$secondArray = [34, 99];
这就是我所尝试的,但我在练习后一直得到错误的stockQT
值:
foreach ($secondArray as $value) {
foreach ($firstArray as &$firstArray) {
$firstArray['stockQT'] = $value;
}
}
var_dump($firstArray)
的错误结果:
array (size=2)
0 =>
array (size=3)
'prodID' => int 101
'subscribed' => int 1
'stockQT' => int 99
1 =>
array (size=3)
'prodID' => int 105
'subscribed' => int 0
'stockQT' => int 99
我看过类似的帖子,但在使用不同的建议(如while()
循环)后似乎无法获得正确的值。下面是我需要的$firstArray
的样子:
array (size=2)
0 =>
array (size=3)
'prodID' => int 101
'subscribed' => int 1
'stockQT' => int 34
1 =>
array (size=3)
'prodID' => int 105
'subscribed' => int 0
'stockQT' => int 99
您只需要一个使用键的foreach()
,因为$secondArray
将始终具有相同数量的数组项,并且将以与$firstArray
相同的顺序。注意,&
修改了数组中的实际值:
foreach($firstArray as $key => &$value) {
$value['stockQT'] = $secondArray[$key];
}
或者循环$secondArray
并使用键修改$firstArray
:
foreach($secondArray as $key => $value) {
$firstArray[$key]['stockQT'] = $value;
}