[PHP] 解決方法 - Warning: Invalid argument supplied for foreach()

  • 18744
  • 0

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...
}
?>