2012-05-10 1 views
1

이 정말 어설픈 보인다배열 키가 있는지 확인하고 값을 저장하는 PHP에서 가장 간결한 방법은 무엇입니까?

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']; 
+0

오류를 억제하지 마십시오. 인용 된 사본에서 답을 사용하십시오. – webbiedave

답변

0

어떻게 것입니다 당신을 위해이 일?

try { 
    $status = $xml['soap:Envelope']['soap:Body']['SendPurchasesResponse']['PurchasesResponse']['Status']['Code']; 
} catch (Exception $e) { 
    $status = "" 
} 
+0

나는 그것을 좋아한다! 나는 PHP Notice 오류가 예외로 잡힐 것이라고 생각하지 않았습니다. – weotch

관련 문제