2017-01-13 21 views
2

ここで何が間違っていますか? 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 */ 
    } 
} 
関連する問題