从空值创建默认对象:PHP 5.4
我收到一个错误,如第196行的空值创建默认对象($ settings - > {$ v-> Name} = $ setting;)。 我想,这是因为我已经升级到5.4版本的PHP。 所以我已经设置了$ setting =(object)null而不是$ setting = null。 但是我无法在第196行修正它($ settings - > {$ v-> Name} = $ setting;)。
$settings;
foreach($SettingsRows as $v)
{
$setting =(object) null;
$setting->ID = $v->ID;
$setting->Name = $v->Name;
$setting->Value = $v->Value;
$setting->Class = $v->ClassName;
$setting->Form = new $setting->Class($setting);
$settings->{$v->Name} = $setting;
}
如何将$设置值设置为$ settings - > {$ v-> Name}? 我需要在这里改变什么?
谢谢!
你的代码看起来很粗略,但显然你需要在foreach
循环之前使用$settings = new stdClass
。 ( new stdClass
和(object) null
是一样的东西,但在我看来更清晰。)
它真的看起来像$settings
应该只是一个数组(例如, $settings[$v->Name] = $setting;
),但我不知道你在做什么。
用PHP 5.4为我工作
$query1 = $this->db()->prepare('SELECT id,title FROM category');
$query1->execute();
$d['query1']=(object) null;
foreach($query1->fetchAll(PDO::FETCH_OBJ) as $k=>$v){
$d['query1']->$k=$v;
$query2 = $this->db()->prepare('SELECT id,title FROM page');
$query2->execute();
$d['query2']=(object) null;
foreach($query2->fetchAll(PDO::FETCH_OBJ) as $k=>$v){
$d['query2']->$k=$v;
}
}
return $d;
链接地址: http://www.djcxy.com/p/59389.html