【问题标题】:PHP push new data into given arrayPHP将新数据推送到给定数组中
【发布时间】:2018-04-26 08:29:35
【问题描述】:

我似乎很难理解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)
  }
}

【问题讨论】:

  • 那么$results[ $key ][ "key" ] = $key;

标签: php arrays array-push


【解决方案1】:

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

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

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

var_dump($results); exit;

【讨论】:

    猜你喜欢
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多