2014-01-14 67 views
0

我有問題,改變我從我的MySQL數據庫中提取的變量的值。我正在嘗試此操作PHP:MySQL變量值沒有在數組中更改?

foreach($itemsCurrentSorted as $item) { 
    echo "pre: " . $item[4]; 
    $item[4] = 100; 
    echo "after: " . $item[4]; 
} 

itemsCurrentSorted包含從MySQL數據庫中獲取行的結果。奇怪的是,回聲聲明給了我正確的結果。它似乎改變了價值。然而,第二次它開始一個新的迭代,就像這個值永遠不會被重置。所以它不保留新的價值?

所以我想我的問題簡而言之就是:你如何改變你從MySQL數據庫中取得的值。由於在事先

+0

嘗試'foreach($ itemsCurrentSorted as&$ item)'但是在foreach使用'unset($ item)'後更安全一邊 – codepiper

回答

1

嘗試編輯引用

foreach ($key as &$value) { 

} 

的符號意味着它會修改原始數組。

+0

除了操作數的直觀命名之外,我不明白爲什麼有人會投票這個。這是一個有效的答案。從我+1。 –

+0

啊謝謝,那正是問題所在。如果你想在數組中改變它,我不知道你必須在獲取的元素前使用&。感謝一羣夥伴! – Seerex