代码之家  ›  专栏  ›  技术社区  ›  mirosval

PHP stdClass变量属性

  •  0
  • mirosval  · 技术社区  · 14 年前

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

    $bb是一个stdClass,我用这种方式读写这些属性,因为我把它们存储在一个数组中。现在这在PHP5.3中工作,我已经证实了,我很确定它在5.2上也能工作,但是在5.1上似乎有一个问题,你不能以这种方式写入对象,没有错误或任何东西,它只是不会写入。。。

    从什么版本开始?

    1 回复  |  直到 12 年前
        1
  •  0
  •   Viper_Sb    14 年前

    我相信他指的是使用 variable variables ,对于PHP<=5.1,尝试在变量周围使用{}。在php5.2+中,iirc是指当某些东西被更改为允许没有这些东西时。还有可能在5.2.x之前,这是不允许的,而且没有给出错误的原因可能是错误处理没有完全设置好,或者仅限于E\u错误。

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