2017-01-13 39 views
2

我在這裏有什麼錯誤?獲取第二行的錯誤(foreach ....)有人可以幫我糾正它嗎?更新:我認爲我的問題是沒有加載XML文件。我需要首先糾正。得到以下錯誤「警告:爲foreach()提供的無效參數」

$xml = simplexml_load_string($result);    

    foreach($xml->statusCode as $statusCode){ 
      if($statusCode != '200'){ 
       echo $failureMessage; 
       echo 'Error: <span class="formerror">'; 
       echo $xml->errorMessage;     
       echo '</span>'; 
      } else { 
       echo $successMessage. 
       '<ul> 
        <li>First Name: '.$c['f_name'].'</li> 
        <li>Last Name: '.$c['l_name'].'</li> 
        <li>Your Zipcode: '.$c['zipcode'].'</li> 
        <li>Your Email: '.$c['email'].'</li> 
        <li>Your Phone Number: '.$c['phone'].'</li>'; 
       if($c['comments'] != ''){ 
        echo '<li>'.$c['comments'].'</li></ul>'; 
       } else { 
        echo '</ul>'; 
       } 
       ?> 
+0

你試試下面的答案嗎? –

回答

0

得到以下錯誤「警告:無效的參數爲 的foreach()提供的」

它,因爲無論是nullfalse

foreach($xml->statusCode as $statusCode){ 
      ^
      see var_dump($xml->statusCode), 
      since $xml is either null or false you get above error 

我們可以再生這個錯誤像這樣,例如

$ php -r 'foreach(null as $e){}' 
PHP Warning: Invalid argument supplied for foreach() in Command line code on line 1 

/*false OR FALSE*/ 
$ php -r 'foreach(false as $e){}' 
PHP Warning: Invalid argument supplied for foreach() in Command line code on line 1 

所以你需要錯誤處理第一

if ($xml === FALSE) 
{ 
    throw new Exception('Failed to load XML string.'); 
}else 
{ 
    foreach($xml->statusCode as $statusCode) 
    { 
      /* Remaining code goes here */ 
    } 
} 
相關問題