問題Warning: Invalid argument supplied for foreach() in 完善解決方案 將報錯的語句做如下修改(例): 把 foreach($extcredits as $id => $credit) { if($credit['ratio']) { $exchcredits[$id] = $credit; } } 改為 if(is_array($extcredits)) //add { foreach($extcredits as $id => $credit) { if($credit['ratio']) { $exchcredits[$id] = $credit; } } } //add 或 foreach((array)$extcredits as $id => $credit) { if($credit['ratio']) { $exchcredits[$id] = $credit; } } 造成這個錯誤的原因多數是因為升級、編碼轉換造成的! 如果對PHP熟悉的人,可以直接找到出錯的地方,分析出錯信息是對哪個數據庫表操作時造成的(一般都是論壇的基本數據表),然後,找到相應表的原版數據導進去,問題可解決。 如果對PHP不熟悉的人,可以按出錯信息提示的位置,用2樓的修改方法進行修改,問題可解決。 原文:http://www.phpweblog.net/kiyone/archive/2008/04/24/3250.aspx