脚本宝典收集整理的这篇文章主要介绍了php – __toString()必须返回一个字符串值,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我使用Smarty调用对象:
{assign VAR='udatas' value="$userObj->fetchUser(array('id'=>$ststres[ststval].to_id))"}
这是对象.
class users_class { PRotected $users_class; public function __toString() { return $this->users_class; } public function fetchUser(array $condITions){ $db = Core::getInstance(); $sql = "SELECT * From ".USERS." WHERE "; $i=0; $params = array(); //$where = array(); foreach ($conditions as $column => $value) { if (preg_match('/^[a-z-.-_]+$/',$column)) { if($i!=0){ $sql .= " AND "; } $sql .= "$column = ?"; $params[] = $value; $i++; } } //$sql .= implode(' AND ',$where); //$sql .= " order by title asc"; $res = $db->dbh->prepare($sql); $res->execute(array_values($params)); return $res->fetch(PDO::FETCH_ASSOC); } }
但是在阅读上面的例子时,我觉得var $users_class可能还没有被初始化.在这种情况下,将方法__toString()更改为:
public function __toString() { if(is_null($this->users_class)) { return 'NULL'; } return $this->user_class; }
以上是脚本宝典为你收集整理的php – __toString()必须返回一个字符串值全部内容,希望文章能够帮你解决php – __toString()必须返回一个字符串值所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。