PHP stdClass变量属性

时间:2010-09-29 21:42:17

标签: php versions stdclass

我有这样的代码:

foreach($attributes as $attrib => $options){
     if($bb->$attrib != $default->$attrib){
        $delete = false;
    }
}

$ bb是一个stdClass,我正在以这种方式读取和写入这些属性,因为我将它们存储在一个数组中。现在这可以在我已经确认的PHP 5.3中运行,我很确定它也适用于5.2,但是在5.1上似乎存在一个问题,你不能以这种方式写入对象,没有错误或任何东西,它只是不会写......

它的版本是什么?

1 个答案:

答案 0 :(得分:0)

我相信他指的是使用variable variables,对于PHP< = 5.1,尝试在变量变量周围使用{}。 PHP 5.2+中的iirc是在某些事情发生变化的情况下允许它没有那些。此外,有可能在5.2.x之前不允许这样做,并且没有给出错误,也许错误处理不是一直设置,或仅限于E_ERROR。

foreach($attributes as $attrib => $options){
     if($bb->{$attrib} != $default->{$attrib}){
        $delete = false;
    }
}