我試圖直接更新數組的某些值。這是完美的工作。我正在使用以下方法:&Array() - 在更新數組之後加上「&」前綴的最後一行
foreach($items as &$item) {
if($criteria == 'correct') {
// update array
$item['update_me'] = 'updated';
}
}
因此,我現在有一個名爲$ items的更新數組。
但是,我遇到的問題是,當此數組輸出到屏幕(通過另一個foreach循環)時,數組的最後一行丟失。
如果我通過var_dump($ items)打印整個數組;方法,我注意到每一行都以Array(9)作爲前綴。然而,最後一行以前綴&數組(9)爲前綴 - 注意主要的&符號。我相信這很重要!但我不確定它的含義。爲什麼它只應用於數組中的最後一行?我該如何擺脫它?
從評論:
array(6) {
[0]=> array(9) {
["item_id"]=> string(4) "1"
["item_description"]=> string(9) "blah blah"
["quantity"]=> string(1) "4"
["unit_cost"]=> string(4) "5.00"
["subtotal"]=> string(4) "20.00"
}
[1]=> &array(9) {
["item_id"]=> string(4) "2"
["item_description"]=> string(9) "blah blah"
["quantity"]=> string(1) "1"
["unit_cost"]=> string(4) "5.99"
["subtotal"]=> string(4) "5.99"
}
}
向我們展示所有相關的代碼。向我們展示相關輸出。告訴我們你使用的是什麼語言。 – Marcin 2012-02-29 11:45:53
請給我一個測試用品。 – 2012-02-29 11:49:50
現在應該有希望修復。但這裏是輸出以防任何人有興趣參考:'array(6) {[0] => array(9) \t {[「item_id」] => string(4)「1」 \t [ ITEM_DESCRIPTION 「] =>串(9) 」等等等等「 \t [」 量 「] =>串(1) 」4「 \t [」 UNIT_COST 「] =>串(4) 」5.00「 \t [」 小計「] =>串(4) 」20.00「 \t} [1] =>&陣列(9) \t {[」 ITEM_ID 「] =>串(4) 」2「 \t [」 ITEM_DESCRIPTION「] => string(9)「blah blah」 \t [「quantity」] => string(1)「1」 \t [ 「UNIT_COST」] =>串(4) 「5.99」 \t [ 「小計」] =>串(4) 「5.99」 \t} }' – user1100149 2012-02-29 12:10:29