2016-12-29 125 views
-1

我接收來自API在陣列對象的形式的響應,但有時i的對象數據如何檢查數組中的對象是否存在? [PHP]

例如形式接收不同的數據:

//first response 
$response->getBody(); 
//second response 
$response->getMessage(); 

所以,如果我調用響應的一個這並不上面有對象,它要去有一個錯誤,是我到目前爲止已經做的是這樣的:

if(empty($response->getBody())){ 
    //do something 
} 

最後,我想檢測,如果對象的數組我要調用的對象或使用

+0

沒有代碼,我不知道。如果它是一個數組,你可以使用if(isset($ array ['key'])。作爲一個對象,事情略有不同。你必須詳細說明 –

+0

這樣做: if(empty((array)$響應){ 如果(method_exists($ response,'getBody' –

回答

0

使用method_exists()來檢查類的方法是否退出。

<?php 
    $directory = new Directory('.'); 
    var_dump(method_exists($directory,'read')); 
?> 

或使用is_callable()

class someClass { 

    function someMethod() { } 

} 

$anObject = new someClass(); 

$methodVariable = array($anObject, 'someMethod'); 

var_dump(is_callable($methodVariable, true, $callable_name)); // 
bool(true) 

echo $callable_name, "\n"; // someClass::someMethod 
相關問題