我正在传递$row
已分配$statement->fetchAll();
给它的东西
public function hello(array $row)
我将如何检查它是否是 stdClass Object ?
最后这叫做类型提示吗?
我正在传递$row
已分配$statement->fetchAll();
给它的东西
public function hello(array $row)
我将如何检查它是否是 stdClass Object ?
最后这叫做类型提示吗?
这是一个小脚本,可以帮助您检查变量是对象还是特定类型的对象,如果不想将参数函数转换为所需的对象类型。
<?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);
很好的解决方案看起来很简单。
public function hello(stdClass $row)
我检查了 php 5.3 版,它可以工作。就像传递一个 stdclass 对象一样,但所有其他类型都给出了可缓存的致命错误。
每当您想明确说明函数接收哪种对象作为参数时:
如果您期待一个 Person 对象:
public function talkTo(Person $person){
}
如果您期待一个 stdClass 对象:
public function printOut(stdClass $row){
}
需要数据库对象吗?
public function save(Database $db){
}