Warning: Invalid argument supplied for foreach() in ?????.php on line XXX
通常出現此 Error , 主要是有幾個原因 :
1. 放了一個無效的參數當成 Array 使用在 Foreach內
<?php
$list = 1;
foreach ($list as $item) {
# code...
}
?>
2. 沒有放任何參數 , 同時又沒有定義 , 但卻放在 foreach 使用
<?php
foreach ($list as $item) {
# code...
}
?>
有幾種處理方式
1. 將Array 參數放進去
<?php
$list = array('p1' => "Value1" , 'p2' => "Value2" , 'p3' => "Value3" );
foreach ($list as $item) {
# code...
}
?>
2. 先定義為 Array
<?php
$list = array();
foreach ($list as $item) {
# code...
}
?>
3. 在 foreach 暫時定義 Variable 是一個 Array (注意: 並不代表 Variable 已定義為 Array , 在其他地方使用同樣會出 Error)
<?php
foreach ((array)$list as $item) {
# code...
}
?>