Edit report at https://bugs.php.net/bug.php?id=64431&edit=1
ID: 64431 User updated by: namarpi at yahoo dot com Reported by: namarpi at yahoo dot com Summary: SPL RecursiveArrayIterator::offsetSet with ArrayObject fails but stdClass works Status: Open Type: Bug Package: SPL related Operating System: Windows PHP Version: 5.4.13 Block user comment: N Private report: N New Comment: Hello again, I would like to offer my help with some simple test scripts, which will be collected at https://github.com/namarpi/PHP-SPL-Recursive-Examples If you need them use them. Previous Comments: ------------------------------------------------------------------------ [2013-03-17 06:25:25] namarpi at yahoo dot com Perhaps you have already faced with that too, that method chaining fails even with stdClass. If not than this script provides an example: https://github.com/namarpi/php-reports/blob/master/insertGrandchildByGrandparentKey.php ------------------------------------------------------------------------ [2013-03-16 07:36:00] namarpi at yahoo dot com This test script gets rid of the RecursiveIteratorIterator, and focuses only on the RecursiveArrayIterator. https://github.com/namarpi/php-reports/blob/master/test-RecursiveArrayIterator::getChildren::offsetSet.php ------------------------------------------------------------------------ [2013-03-15 18:30:39] namarpi at yahoo dot com Relocated the file to a GhitHub repository: https://github.com/namarpi/php-reports/blob/master/test-RecursiveArrayIterator::offsetSet.txt ------------------------------------------------------------------------ [2013-03-15 15:29:44] namarpi at yahoo dot com Description: ------------ Trying to modify an array through RecursiveIteratorIterator iterator. The successful modification depends on how the array object was constructed. Fails: $array_object = new ArrayObject( $array, 0, "RecursiveArrayIterator" ); Works: $object = json_decode( json_encode( $array )); I am confused, because I expect the same behavior on both iterators. Attached a detailed test script, which tells more than my bad English text. Maybe I am escaping something? Test script: --------------- http://madarak.net/php_reports/spl-recursion.txt Expected result: ---------------- Modified ArrayObject object after using RecursiveArrayIterator::offsetSet/offsetUnset methods. Actual result: -------------- There are no effects on ArrayObject object after calling RecursiveArrayIterator::offsetSet/offsetUnset methods. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=64431&edit=1