PHP 将新数据推入给定数组

PHP push new data into given array

我似乎很难理解 array 的工作原理。所以结果,我无法解决这个问题。

foreach($results as $key => $value){
    $product_key = array(
      'key' => $key
    );
    array_push($results, $product_key);
}

var_dump($results); exit;

预期输出

array(2) {
  [0]=>
  object(stdClass)#21 (4) {
    ["items_id"]=>
    string(1) "1"
    ["item_name"]=>
    string(6) "laptop"
    ["price"]=>
    string(5) "20000"
    ["quantity"]=>
    string(2) "10"
    ["key"]=>
    int(0)
  }
  [1]=>
  object(stdClass)#22 (4) {
    ["items_id"]=>
    string(1) "2"
    ["item_name"]=>
    string(10) "smartphone"
    ["price"]=>
    string(5) "10000"
    ["quantity"]=>
    string(3) "200"
    ["key"]=>
    int(1)
  }

意外输出

array(4) {
  [0]=>
  object(stdClass)#21 (4) {
    ["items_id"]=>
    string(1) "1"
    ["item_name"]=>
    string(6) "laptop"
    ["price"]=>
    string(5) "20000"
    ["quantity"]=>
    string(2) "10"
  }
  [1]=>
  object(stdClass)#22 (4) {
    ["items_id"]=>
    string(1) "2"
    ["item_name"]=>
    string(10) "smartphone"
    ["price"]=>
    string(5) "10000"
    ["quantity"]=>
    string(3) "200"
  }
  [2]=>
  array(1) {
    ["key"]=>
    int(0)
  }
  [3]=>
  array(1) {
    ["key"]=>
    int(1)
  }
}

push新值(数组)到现有数组的末尾,你期望什么?

如果要修改当前的交互数组值,请使用此方法:

foreach($results as $key => $value) {
    // use `->` as `$value` is object
    $value->key = $key;
}

var_dump($results); exit;