1

これは本当に不格好なようです:

if (empty($xml['soap:Envelope']['soap:Body']['SendPurchasesResponse']['PurchasesResponse']['Status']['Code'])) {
    $status = $xml['soap:Envelope']['soap:Body']['SendPurchasesResponse']['PurchasesResponse']['Status']['Code'];
}

これらの配列キーの一部が欠落している場合に「未定義のインデックス」エラーを処理するためのより良い方法はありますか?ご想像のとおり、この配列はXMLベースのAPIからのものであり、私に対する彼らの応答を信頼することはできません。

「@」を使用してエラーを抑制することは、コップアウトだと思いますか。

$status = @$xml['soap:Envelope']['soap:Body']['SendPurchasesResponse']['PurchasesResponse']['Status']['Code'];
4

1 に答える 1

0

これはあなたにとってどのように機能しますか?

try {
  $status = $xml['soap:Envelope']['soap:Body']['SendPurchasesResponse']['PurchasesResponse']['Status']['Code'];
} catch (Exception $e) {
  $status = ""
}
于 2012-05-10T19:13:12.470 に答える