php升级后保存记录时出现E_strict错误


E_strict error saving records after php upgrade

我在codeigniter中使用一个脚本来保存一条记录,在升级php后,它会产生一个e_strict错误。

代码:

function save($cdata){
        foreach($cdata as $key=>$value){
            $t=explode("_",$key);
            if($t[0]!="con"){
                $data->$key = setStringContent($value);
            }
        }

错误似乎来自这条线路

$data->$key = setStringContent($value);

任何帮助都将不胜感激。。。

如果您没有在任何地方初始化$data,则需要在为其赋值之前添加此行(foreach语句之前的某个地方):

$data = new stdClass;

如果它是一个数组,那么您应该将该行更改为:

$data[$key] = setStringContent($value);