I IteratorAggregate
sadece bir nesneye dizi gibi read erişim sağladığını düşünerek düzeltmek muyum? Ben nesne olarak-dizi yazmak gerekiyorsa, o zaman kullanmanız gerekir Iterator
?
Yeni bir öğe eklemek için çalışırken önemli bir hataya neden bir IteratorAggregate nesnenin gösteri şöyle:
<?
class foo implements IteratorAggregate {
public $_array = array('foo'=>'bar', 'baz'=>'quux');
public function getIterator() {
return new ArrayIterator($this->_array);
}
} // end class declaration
$objFoo = & new foo();
foreach ( $objFoo as $key => $value ) {
echo "key: $key, value: $value\n";
}
$objFoo['reeb'] = "roob";
foreach ( $objFoo as $key => $value ) {
echo "key: $key, value: $value\n";
}
$ php test.php
key: foo, value: bar
key: baz, value: quux
Fatal error: Cannot use object of type foo as array in /var/www/test.php on line 20
Call Stack:
0.0009 57956 1. {main}() /var/www/test.php:0