在PHP中向多维数组中添加值数组



我想添加从$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;
}

相关内容

  • 没有找到相关文章

最新更新