簡體   English   中英

PHP對象數組 - 檢查數組鍵是否存在

[英]PHP Object Array - Check if array key exists

我有一個soap調用返回的以下對象數組:

$result = $this->soapClient->__soapCall($method, $arguments);

var_dump($result);


object(stdClass)#4 (1) {
    ["Jobs_GetResult"]=> object(stdClass)#5 (3) {
        ["Jobs"]=> array(4) {
              [0]=> object(stdClass)#7 (19) {
                    ["JobID"]=> int(55082846)
                    ["JobName"]=> string(18) "Fix xyz"
              } 

        }
        ["Errors"]=> object(stdClass)#10 (2) {
             ["Result"]=> int(0)
             ["Message"]=> string(0) "" 
        }
        ["RecordCount"]=> int(1) 
    }
}

我想檢查是否有任何錯誤 - 當父數組鍵已知時,這很容易,例如:

if($result->Jobs_GetResult->Errors->Result > 0){
     // display message
}

問題是我不知道頂級數組鍵的名稱對於大多數調用將是什么,因為我使用的是泛型方法 - 在上面的例子中它是Jobs_GetResult所以上面的方法可行。

在頂級數組鍵未知的情況下,如何檢查是否有任何錯誤返回?

通常,父數組鍵的名稱通常是附加了Result的方法調用的名稱。 所以我在想做一些事情:

 if($result->$method . 'Result'->Errors->Result > 0){
     // display message
 }

但顯然上面的語法是不正確的。 任何人都知道如何輸出$method值並將其鏈接到$result並將其附加到Result

有沒有其他方法可以檢查Errors數組結果是否大於1而不知道父數組鍵是什么?

嘗試這個:

$result = $this->soapClient->__soapCall($method, $arguments);

$firstKey = key($result);

if (!empty($firstKey) && !empty($result->{$firstKey}->Errors->Result)) {
    // display message
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM