Home > PHP > foreachでIndirect modification of overloaded propertyが発生する マジックメソッドの__get()ですが、配列を返すとforeachでNoticeが発生する場合があります。 < ?php error_reporting(E_ALL); class A { private $array = array(1, 2, 3); function __get($name) { if ($name == 'hoge') { return $this->array; } } } $obj = new A(); foreach ($obj->hoge as $elem) { var_dump($elem); } ?> PHP Notice: Indirect modification of overloaded property