0

我有这样的代码:

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

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

它从什么版本开始工作?

4

1 回答 1

0

我相信他指的是使用变量 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;
    }
}
于 2010-09-30T00:19:50.847 回答