如何在php中实现这种概念

如何在php中实现这种概念,php,codeigniter,codeigniter-4,Php,Codeigniter,Codeigniter 4,在codeigniter 4中,当iprint\r($Db->getLastQuery())返回整个方法和其他信息时,或者当echo$Db->getLastQuery()返回最后一个查询时,有一个Db帮助器或查询生成器。 同一个函数如何同时返回不同的输出???可能是因为getLastQuery返回实现魔术方法的对象,并且使用echo将变量转换为字符串,而print\r只打印原始对象。这是正确的。getLastQuery的返回实际上是CodeIgniter\Database\Query的一个实例;

在codeigniter 4中,当i
print\r($Db->getLastQuery())
返回整个方法和其他信息时,或者当
echo$Db->getLastQuery()返回最后一个查询时,有一个Db帮助器或查询生成器。

同一个函数如何同时返回不同的输出???

可能是因为
getLastQuery
返回实现魔术方法的对象,并且使用
echo
将变量转换为字符串,而
print\r
只打印原始对象。

这是正确的。
getLastQuery
的返回实际上是
CodeIgniter\Database\Query
的一个实例;这个
Query
类有一个
toString
方法,当PHP试图将
echo
的参数从对象转换为字符串时,会隐式调用该方法。