检查变量是否是PDO对象?

kmo*_*y12 3 php mysql pdo

我有一个用于处理SQL的通用函数.我收到这个错误(一天只有几次,不经常).

PHP Catchable fatal error:  Object of class PDO could not be converted to string in...
Run Code Online (Sandbox Code Playgroud)

基本上,为我正在使用的函数传递一个值数组,并且我必须在我的代码中滑落并在该数组中放置一个PDO对象.

我需要创建一个array_filter函数来检查变量是否是PDO对象.我如何为此做一个简单的if语句?

if($var == PDO)
Run Code Online (Sandbox Code Playgroud)

编辑:谢谢你的答案!如果有人有兴趣,这就是我解决问题的方法.我能够找到无效输入的来源.

$before=$original_array;
$after = array_filter($before, "find_error");
if(count($before)!=count($after)){
    $error=print_r(debug_backtrace(false),true);
    $arr=print_r($before,true);
    send_message("admin@email.com","Error Report",$arr.$error); 
//send_message is a simple function for sending emails. You could also write information to a txt file, etc.
}

function find_error($var){
    return !($var instanceof PDO);
}
Run Code Online (Sandbox Code Playgroud)

tuf*_*kid 11

instanceof用于确定PHP变量是否是某个类的实例化对象:

if($var instanceof PDO) {
   // your code
}
Run Code Online (Sandbox Code Playgroud)