在for循环中将项添加到多维数组

时间:2012-06-25 07:12:02

标签: php

这是我的数组,我想添加一些元素,使其像第二个数组

1)

array(7) {
  [0] => array(3) {
    ["name"] => string(9) "airG Chat"
    ["product_id"] => int(2469)
    ["price"] => string(4) "0.00"
  }

  [1] => array(3) {
    ["name"] => string(9) "PingChat!"
    ["product_id"] => int(7620)
    ["price"] => string(4) "0.00"
  }
  [2] => array(3) {
    ["name"] => string(25) "MobiEXPLORE Zagreb County"
    ["product_id"] => int(8455)
    ["price"] => string(4) "0.00"
  }
}

添加项目后,它应该是这样的,我尝试使用每个功能,但没有工作。 2。)

array(7) {
  [0] => array(3) {
    ["name"] => string(9) "airG Chat"
    ["product_id"] => int(2469)
    ["price"] => string(4) "0.00"
    ["description"] => string(23) "this is the custom test"
    ["brief_description"] => string(23) "this is the custom test"
  }

  [1] => array(3) {
    ["name"] => string(9) "PingChat!"
    ["product_id"] => int(7620)
    ["price"] => string(4) "0.00"
    ["description"] => string(23) "this is the custom test"
    ["brief_description"] => string(23) "this is the custom test"
  }
  [2] => array(3) {
    ["name"] => string(25) "MobiEXPLORE Zagreb County"
    ["product_id"] => int(8455)
    ["price"] => string(4) "0.00"
    ["description"] => string(23) "this is the custom test"
    ["brief_description"] => string(23) "this is the custom test"
  }
}

2 个答案:

答案 0 :(得分:3)

使用foreach与参考(&):

foreach($data as &$datum) {
    $datum["description"] = "this is the custom test";
    $datum["brief_description"] = "this is the custom test";
}

如果您不想使用&to avoid this problem),则可以

foreach($data as $i => $datum) {
    $data[$i]["description"] = "this is the custom test";
    $data[$i]["brief_description"] = "this is the custom test";
}

答案 1 :(得分:2)

如果您使用foreach并想要更改原始数组,则需要添加&

foreach ($arr as &$item) {
  $item["description"] = "this is the custom test";
  $item["brief_description"] = "this is the custom test";
}