如何检查methods参数是否为stdClass对象

Oli*_*ton 3 php

我正在传递$row已分配$statement->fetchAll();给它我将它传递给另一个类我想检查它是否是方法中的stdClass对象,例如,如果我想检查它是否是一个数组我会做

public function hello(array $row)
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能检查它是否是一个stdClass对象?

最后这个叫做类型提示?

Mol*_*iel 12

这是一个小脚本,可以帮助您检查变量是否是对象,或者是否是特定类型的对象,如果不想将参数函数转换为所需类型的对象.

<?php
function text($a){

   if(is_object($a)){
       echo 'is object';
   }else{
       echo 'is not object';
   }

   //or if you want to be more accurate 
   if($a instanceof stdClass){
       echo 'is object type stdClass';
   }else{
       echo 'is not object of type stdClass';
   }

}

$b = new stdClass();
text($b);
Run Code Online (Sandbox Code Playgroud)


kul*_*boj 4

解决方案看起来很简单。

public function hello(stdClass $row)

我检查了 php 5.3 版本它是否有效。就像传递 stdclass 对象一样,但所有其他类型都给出了可缓存的致命错误。