如何检查数组中的对象是否存在? [PHP]

问题描述:

我接收来自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' –

使用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