将键/值对推送到数组,丢失了forloop键

时间:2015-08-31 15:21:53

标签: php arrays

我从数据库中获取数据,但想要为它们添加2个键。所以我将它们添加到for循环中。如果我转储(使用pre标签打印数组的简单函数)for循环中的单个结果,它是正确的,当我将2维数组转储到它之外时,它不再具有键。 。

由于某种原因,它没有将它推到二维数组?

$ results是一个2维数组btw。

    //add amount and subtotal to the array's elements
    foreach ($results as $result) {
        $result['amount'] = $sessionShoppingCart[$result['artikelnummer']][1];
        $result['subtotal'] = $result['amount'] * $result['Verkoopprijs'];
        $this->dump($result);
    }

    $this->dump($results);

1 个答案:

答案 0 :(得分:1)

要更改foreach中的数组,您可以做两件事。

使用&引用数组值:

foreach ($results as &$result) {

或者使用密钥并修改数组:

foreach ($results as $key => $result) {
    $results[$key]['amount'] = $sessionShoppingCart[$result['artikelnummer']][1];
    $results[$key]['subtotal'] = $result['amount'] * $result['Verkoopprijs'];
}