cvs: spl / php_spl.c php_spl.h spl_array.c spl_engine.h /tests array.phpt array_access_001.phpt array_access_002.phpt array_iterator.phpt
array_object.phpt array_read.phpt foreach.phpt foreach_break.phpt foreach_continue.phpt foreach_non_spl.phpt forward.phpt sequence.phpt
| From: | Marcus Boerger | Date: | Wed, 26 Nov 2003 23:28:36 +0000 |
| Subject: | cvs: spl / php_spl.c php_spl.h spl_array.c spl_engine.h /tests array.phpt array_access_001.phpt array_access_002.phpt array_iterator.phpt array_object.phpt array_read.phpt foreach.phpt foreach_break.phpt foreach_continue.phpt foreach_non_spl.phpt forward.phpt sequence.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-24672@lists.php.net to get a copy of this message | ||
helly Wed Nov 26 18:28:36 2003 EDT
Added files:
/spl/tests array_object.phpt
Removed files:
/spl/tests array.phpt array_access_001.phpt array_access_002.phpt
array_read.phpt foreach.phpt foreach_break.phpt
foreach_continue.phpt foreach_non_spl.phpt forward.phpt
sequence.phpt
Modified files:
/spl php_spl.c php_spl.h spl_array.c spl_engine.h
/spl/tests array_iterator.phpt
Log:
Cleanup
Index: spl/php_spl.c diff -u spl/php_spl.c:1.19 spl/php_spl.c:1.20 --- spl/php_spl.c:1.19 Wed Nov 26 03:18:26 2003 +++ spl/php_spl.c Wed Nov 26 18:28:34 2003 @@ -62,11 +62,6 @@ }; /* }}} */ -zend_class_entry *spl_ce_recursive_it; -zend_class_entry *spl_ce_recursive_it_it; -zend_class_entry *spl_ce_array_read; -zend_class_entry *spl_ce_array_access; - /* {{{ spl_functions_none */ function_entry spl_functions_none[] = { @@ -117,22 +112,6 @@ { SPL_DEBUG(fprintf(stderr, "%s\n", "Shutting down SPL");) -#ifdef SPL_FOREACH - ZEND_EXECUTE_HOOK_RESTORE(ZEND_FE_RESET); - ZEND_EXECUTE_HOOK_RESTORE(ZEND_FE_FETCH); - ZEND_EXECUTE_HOOK_RESTORE(ZEND_SWITCH_FREE); -#endif - -#if defined(SPL_ARRAY_READ) | defined(SPL_ARRAY_WRITE) - ZEND_EXECUTE_HOOK_RESTORE(ZEND_FETCH_DIM_R); - ZEND_EXECUTE_HOOK_RESTORE(ZEND_FETCH_DIM_W); - ZEND_EXECUTE_HOOK_RESTORE(ZEND_FETCH_DIM_RW); -#endif - -#ifdef SPL_ARRAY_WRITE - ZEND_EXECUTE_HOOK_RESTORE(ZEND_ASSIGN_DIM); -#endif /* SPL_ARRAY_WRITE */ - return SUCCESS; } /* }}} */ @@ -141,30 +120,8 @@ */ PHP_MINFO_FUNCTION(spl) { -#ifdef SPL_FOREACH - char *foreach = "beta"; -#else /* SPL_ARRAY_WRITE */ - char *foreach = "beta, not hooked"; -#endif -#ifdef SPL_ARRAY_READ - char *array_read = "beta"; -#else /* SPL_ARRAY_WRITE */ - char *array_read = "beta, not hooked"; -#endif -#ifdef SPL_ARRAY_WRITE - char *array_write = "beta"; -#else /* SPL_ARRAY_WRITE */ - char *array_write = "beta, not hooked"; -#endif /* SPL_ARRAY_WRITE */ - php_info_print_table_start(); php_info_print_table_header(2, "SPL support", "enabled"); - php_info_print_table_row(2, "iterator", foreach); - php_info_print_table_row(2, "forward", foreach); - php_info_print_table_row(2, "sequence", foreach); - php_info_print_table_row(2, "assoc", foreach); - php_info_print_table_row(2, "ArrayRead", array_read); - php_info_print_table_row(2, "ArrayAccess", array_write); php_info_print_table_end(); } /* }}} */ Index: spl/php_spl.h diff -u spl/php_spl.h:1.11 spl/php_spl.h:1.12 --- spl/php_spl.h:1.11 Sun Nov 9 09:05:34 2003 +++ spl/php_spl.h Wed Nov 26 18:28:34 2003 @@ -42,37 +42,8 @@ PHP_RSHUTDOWN_FUNCTION(spl); PHP_MINFO_FUNCTION(spl); -#define ZEND_EXECUTE_HOOK_PTR(name) \ - opcode_handler_t handler_ ## name - -#define ZEND_EXECUTE_HOOK(name) \ - spl_globals->handler_ ## name = zend_opcode_handlers[name]; \ - zend_opcode_handlers[name] = spl_handler_ ## name - -#define ZEND_EXECUTE_HOOK_RESTORE(name) \ - zend_opcode_handlers[name] = SPL_G(handler_ ## name) - -#define ZEND_EXECUTE_HOOK_ORIGINAL(name) \ - return SPL_G(handler_ ## name)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU) - -#define ZEND_EXECUTE_HOOK_FUNCTION(name) \ - int spl_handler_ ## name(ZEND_OPCODE_HANDLER_ARGS) ZEND_BEGIN_MODULE_GLOBALS(spl) -#ifdef SPL_FOREACH - ZEND_EXECUTE_HOOK_PTR(ZEND_FE_RESET); - ZEND_EXECUTE_HOOK_PTR(ZEND_FE_FETCH); - ZEND_EXECUTE_HOOK_PTR(ZEND_SWITCH_FREE); -#endif -#if defined(SPL_ARRAY_READ) | defined(SPL_ARRAY_WRITE) - ZEND_EXECUTE_HOOK_PTR(ZEND_FETCH_DIM_R); - ZEND_EXECUTE_HOOK_PTR(ZEND_FETCH_DIM_W); - ZEND_EXECUTE_HOOK_PTR(ZEND_FETCH_DIM_RW); -#endif -#ifdef SPL_ARRAY_WRITE - ZEND_EXECUTE_HOOK_PTR(ZEND_ASSIGN_DIM); - ZEND_EXECUTE_HOOK_PTR(ZEND_UNSET_DIM_OBJ); -#endif ZEND_END_MODULE_GLOBALS(spl) #ifdef ZTS Index: spl/spl_array.c diff -u spl/spl_array.c:1.26 spl/spl_array.c:1.27 --- spl/spl_array.c:1.26 Wed Nov 26 03:18:26 2003 +++ spl/spl_array.c Wed Nov 26 18:28:34 2003 @@ -303,8 +303,8 @@ } /* }}} */ -/* {{{ proto void spl_array::__construct(array|object ar = array()) - proto void spl_array_it::__construct(array|object ar = array()) +/* {{{ proto void ArrayObject::__construct(array|object ar = array()) + proto void ArrayIterator::__construct(array|object ar = array()) Cronstructs a new array iterator from a path. */ SPL_METHOD(Array, __construct) { @@ -338,7 +338,7 @@ } /* }}} */ -/* {{{ proto spl_array_it|NULL ArrayObject::getIterator() +/* {{{ proto ArrayIterator ArrayObject::getIterator() Create a new iterator from a ArrayObject instance */ SPL_METHOD(Array, getIterator) { @@ -381,7 +381,7 @@ } /* }}} */ -/* {{{ proto void spl_array_it::rewind() +/* {{{ proto void ArrayIterator::rewind() Rewind array back to the start */ SPL_METHOD(Array, rewind) { @@ -398,7 +398,7 @@ } /* }}} */ -/* {{{ proto mixed|false spl_array_it::current() +/* {{{ proto mixed|false ArrayIterator::current() Return current array entry */ SPL_METHOD(Array, current) { @@ -425,7 +425,7 @@ } /* }}} */ -/* {{{ proto mixed|false spl_array_it::key() +/* {{{ proto mixed|false ArrayIterator::key() Return current array key */ SPL_METHOD(Array, key) { @@ -459,7 +459,7 @@ } /* }}} */ -/* {{{ proto void spl_array_it::next() +/* {{{ proto void ArrayIterator::next() Move to next entry */ SPL_METHOD(Array, next) { @@ -480,7 +480,7 @@ } /* }}} */ -/* {{{ proto bool spl_array_it::hasMore() +/* {{{ proto bool ArrayIterator::hasMore() Check whether array contains more entries */ SPL_METHOD(Array, hasMore) { Index: spl/spl_engine.h diff -u spl/spl_engine.h:1.14 spl/spl_engine.h:1.15 --- spl/spl_engine.h:1.14 Sun Nov 9 09:05:35 2003 +++ spl/spl_engine.h Wed Nov 26 18:28:34 2003 @@ -33,15 +33,6 @@ } /* }}} */ -#define spl_call_method_0(obj, obj_ce, fn_proxy, function_name, fname_len, retval) \ - spl_call_method(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 0, NULL, NULL TSRMLS_CC) - -#define spl_call_method_1(obj, obj_ce, fn_proxy, function_name, fname_len, retval, arg1) \ - spl_call_method(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 1, arg1, NULL TSRMLS_CC) - -#define spl_call_method_2(obj, obj_ce, fn_proxy, function_name, fname_len, retval, arg1, arg2) \ - spl_call_method(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 2, arg1, arg2 TSRMLS_CC) - void spl_instantiate(zend_class_entry *pce, zval **object, int alloc TSRMLS_DC); int spl_instantiate_arg_ex1(zend_class_entry *pce, zval **retval, int alloc, zval *arg1 TSRMLS_DC); int spl_instantiate_arg_ex2(zend_class_entry *pce, zval **retval, int alloc, zval *arg1, zval *arg2 TSRMLS_DC); Index: spl/tests/array_iterator.phpt diff -u spl/tests/array_iterator.phpt:1.3 spl/tests/array_iterator.phpt:1.4 --- spl/tests/array_iterator.phpt:1.3 Thu Sep 18 12:26:29 2003 +++ spl/tests/array_iterator.phpt Wed Nov 26 18:28:35 2003 @@ -1,5 +1,5 @@ --TEST-- -SPL: spl_array_iterator +SPL: ArrayIterator --SKIPIF-- <?php if (!extension_loaded("spl")) print "skip"; ?> --FILE-- @@ -8,7 +8,7 @@ echo "==Normal==\n"; $arr = array(0=>0, 1=>1, 2=>2); -$obj = new spl_array($arr); +$obj = new ArrayObject($arr); foreach($obj as $ak=>$av) { foreach($obj as $bk=>$bv) { @@ -22,7 +22,7 @@ echo "==UseRef==\n"; $arr = array(0=>0, 1=>1, 2=>2); -$obj = new spl_array(&$arr); +$obj = new ArrayObject(&$arr); foreach($obj as $ak=>$av) { foreach($obj as $bk=>$bv) { @@ -33,7 +33,7 @@ echo "==Modify==\n"; $arr = array(0=>0, 1=>1, 2=>2); -$obj = new spl_array(&$arr); +$obj = new ArrayObject(&$arr); foreach($obj as $ak=>$av) { foreach($obj as $bk=>$bv) { @@ -47,7 +47,7 @@ echo "==Delete==\n"; $arr = array(0=>0, 1=>1, 2=>2); -$obj = new spl_array(&$arr); +$obj = new ArrayObject(&$arr); foreach($obj as $ak=>$av) { foreach($obj as $bk=>$bv) { @@ -61,7 +61,7 @@ echo "==Change==\n"; $arr = array(0=>0, 1=>1, 2=>2); -$obj = new spl_array(&$arr); +$obj = new ArrayObject(&$arr); foreach($obj as $ak=>$av) { foreach($obj as $bk=>$bv) { @@ -112,11 +112,11 @@ 1=>1 - 0=>0 1=>1 - 1=>1 -Notice: spl_array_it::next(): Array was modified outside object and internal position is no longer valid in %sarray_iterator.php on line %d +Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_iterator.php on line %d 1=>1 - 0=>0 1=>1 - 2=>2 -Notice: spl_array_it::next(): Array was modified outside object and internal position is no longer valid in %sarray_iterator.php on line %d +Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_iterator.php on line %d 0=>0 - 0=>0 0=>0 - 2=>2 2=>2 - 0=>0 @@ -128,11 +128,11 @@ 1=>1 - 0=>0 1=>1 - 1=>1 -Notice: spl_array_it::next(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d +Notice: ArrayIterator::next(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d -Notice: spl_array_it::hasMore(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d +Notice: ArrayIterator::hasMore(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d -Notice: spl_array_it::next(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d +Notice: ArrayIterator::next(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d -Notice: spl_array_it::hasMore(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d +Notice: ArrayIterator::hasMore(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d Done Index: spl/tests/array_object.phpt +++ spl/tests/array_object.phpt --TEST-- SPL: ArrayObject --SKIPIF-- <?php if (!extension_loaded("spl")) print "skip"; ?> --FILE-- <?php $ar = array(0=>0, 1=>1); $ar = new ArrayObject($ar); var_dump($ar); $ar[2] = 2; var_dump($ar[2]); var_dump($ar["3"] = 3); var_dump(array_merge((array)$ar, array(4=>4, 5=>5))); var_dump($ar["a"] = "a"); var_dump($ar); var_dump($ar[0]); var_dump($ar[6]); var_dump($ar["b"]); unset($ar[1]); unset($ar["3"]); unset($ar["a"]); unset($ar[7]); unset($ar["c"]); var_dump($ar); echo "Done\n"; ?> --EXPECTF-- object(ArrayObject)#1 (2) { [0]=> int(0) [1]=> int(1) } int(2) int(3) array(6) { [0]=> int(0) [1]=> int(1) [2]=> &int(2) [3]=> &int(3) [4]=> int(4) [5]=> int(5) } string(1) "a" object(ArrayObject)#1 (5) { [0]=> int(0) [1]=> int(1) [2]=> &int(2) [3]=> &int(3) ["a"]=> &string(1) "a" } int(0) Notice: Undefined offset: 6 in %sarray_object.php on line %d NULL Notice: Undefined index: b in %sarray_object.php on line %d NULL Notice: Undefined offset: 7 in %sarray_object.php on line %d Notice: Undefined index: c in %sarray_object.php on line %d object(ArrayObject)#1 (2) { [0]=> int(0) [2]=> &int(2) } Done
Index: spl/php_spl.c diff -u spl/php_spl.c:1.19 spl/php_spl.c:1.20 --- spl/php_spl.c:1.19 Wed Nov 26 03:18:26 2003 +++ spl/php_spl.c Wed Nov 26 18:28:34 2003 @@ -62,11 +62,6 @@ }; /* }}} */ -zend_class_entry *spl_ce_recursive_it; -zend_class_entry *spl_ce_recursive_it_it; -zend_class_entry *spl_ce_array_read; -zend_class_entry *spl_ce_array_access; - /* {{{ spl_functions_none */ function_entry spl_functions_none[] = { @@ -117,22 +112,6 @@ { SPL_DEBUG(fprintf(stderr, "%s\n", "Shutting down SPL");) -#ifdef SPL_FOREACH - ZEND_EXECUTE_HOOK_RESTORE(ZEND_FE_RESET); - ZEND_EXECUTE_HOOK_RESTORE(ZEND_FE_FETCH); - ZEND_EXECUTE_HOOK_RESTORE(ZEND_SWITCH_FREE); -#endif - -#if defined(SPL_ARRAY_READ) | defined(SPL_ARRAY_WRITE) - ZEND_EXECUTE_HOOK_RESTORE(ZEND_FETCH_DIM_R); - ZEND_EXECUTE_HOOK_RESTORE(ZEND_FETCH_DIM_W); - ZEND_EXECUTE_HOOK_RESTORE(ZEND_FETCH_DIM_RW); -#endif - -#ifdef SPL_ARRAY_WRITE - ZEND_EXECUTE_HOOK_RESTORE(ZEND_ASSIGN_DIM); -#endif /* SPL_ARRAY_WRITE */ - return SUCCESS; } /* }}} */ @@ -141,30 +120,8 @@ */ PHP_MINFO_FUNCTION(spl) { -#ifdef SPL_FOREACH - char *foreach = "beta"; -#else /* SPL_ARRAY_WRITE */ - char *foreach = "beta, not hooked"; -#endif -#ifdef SPL_ARRAY_READ - char *array_read = "beta"; -#else /* SPL_ARRAY_WRITE */ - char *array_read = "beta, not hooked"; -#endif -#ifdef SPL_ARRAY_WRITE - char *array_write = "beta"; -#else /* SPL_ARRAY_WRITE */ - char *array_write = "beta, not hooked"; -#endif /* SPL_ARRAY_WRITE */ - php_info_print_table_start(); php_info_print_table_header(2, "SPL support", "enabled"); - php_info_print_table_row(2, "iterator", foreach); - php_info_print_table_row(2, "forward", foreach); - php_info_print_table_row(2, "sequence", foreach); - php_info_print_table_row(2, "assoc", foreach); - php_info_print_table_row(2, "ArrayRead", array_read); - php_info_print_table_row(2, "ArrayAccess", array_write); php_info_print_table_end(); } /* }}} */ Index: spl/php_spl.h diff -u spl/php_spl.h:1.11 spl/php_spl.h:1.12 --- spl/php_spl.h:1.11 Sun Nov 9 09:05:34 2003 +++ spl/php_spl.h Wed Nov 26 18:28:34 2003 @@ -42,37 +42,8 @@ PHP_RSHUTDOWN_FUNCTION(spl); PHP_MINFO_FUNCTION(spl); -#define ZEND_EXECUTE_HOOK_PTR(name) \ - opcode_handler_t handler_ ## name - -#define ZEND_EXECUTE_HOOK(name) \ - spl_globals->handler_ ## name = zend_opcode_handlers[name]; \ - zend_opcode_handlers[name] = spl_handler_ ## name - -#define ZEND_EXECUTE_HOOK_RESTORE(name) \ - zend_opcode_handlers[name] = SPL_G(handler_ ## name) - -#define ZEND_EXECUTE_HOOK_ORIGINAL(name) \ - return SPL_G(handler_ ## name)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU) - -#define ZEND_EXECUTE_HOOK_FUNCTION(name) \ - int spl_handler_ ## name(ZEND_OPCODE_HANDLER_ARGS) ZEND_BEGIN_MODULE_GLOBALS(spl) -#ifdef SPL_FOREACH - ZEND_EXECUTE_HOOK_PTR(ZEND_FE_RESET); - ZEND_EXECUTE_HOOK_PTR(ZEND_FE_FETCH); - ZEND_EXECUTE_HOOK_PTR(ZEND_SWITCH_FREE); -#endif -#if defined(SPL_ARRAY_READ) | defined(SPL_ARRAY_WRITE) - ZEND_EXECUTE_HOOK_PTR(ZEND_FETCH_DIM_R); - ZEND_EXECUTE_HOOK_PTR(ZEND_FETCH_DIM_W); - ZEND_EXECUTE_HOOK_PTR(ZEND_FETCH_DIM_RW); -#endif -#ifdef SPL_ARRAY_WRITE - ZEND_EXECUTE_HOOK_PTR(ZEND_ASSIGN_DIM); - ZEND_EXECUTE_HOOK_PTR(ZEND_UNSET_DIM_OBJ); -#endif ZEND_END_MODULE_GLOBALS(spl) #ifdef ZTS Index: spl/spl_array.c diff -u spl/spl_array.c:1.26 spl/spl_array.c:1.27 --- spl/spl_array.c:1.26 Wed Nov 26 03:18:26 2003 +++ spl/spl_array.c Wed Nov 26 18:28:34 2003 @@ -303,8 +303,8 @@ } /* }}} */ -/* {{{ proto void spl_array::__construct(array|object ar = array()) - proto void spl_array_it::__construct(array|object ar = array()) +/* {{{ proto void ArrayObject::__construct(array|object ar = array()) + proto void ArrayIterator::__construct(array|object ar = array()) Cronstructs a new array iterator from a path. */ SPL_METHOD(Array, __construct) { @@ -338,7 +338,7 @@ } /* }}} */ -/* {{{ proto spl_array_it|NULL ArrayObject::getIterator() +/* {{{ proto ArrayIterator ArrayObject::getIterator() Create a new iterator from a ArrayObject instance */ SPL_METHOD(Array, getIterator) { @@ -381,7 +381,7 @@ } /* }}} */ -/* {{{ proto void spl_array_it::rewind() +/* {{{ proto void ArrayIterator::rewind() Rewind array back to the start */ SPL_METHOD(Array, rewind) { @@ -398,7 +398,7 @@ } /* }}} */ -/* {{{ proto mixed|false spl_array_it::current() +/* {{{ proto mixed|false ArrayIterator::current() Return current array entry */ SPL_METHOD(Array, current) { @@ -425,7 +425,7 @@ } /* }}} */ -/* {{{ proto mixed|false spl_array_it::key() +/* {{{ proto mixed|false ArrayIterator::key() Return current array key */ SPL_METHOD(Array, key) { @@ -459,7 +459,7 @@ } /* }}} */ -/* {{{ proto void spl_array_it::next() +/* {{{ proto void ArrayIterator::next() Move to next entry */ SPL_METHOD(Array, next) { @@ -480,7 +480,7 @@ } /* }}} */ -/* {{{ proto bool spl_array_it::hasMore() +/* {{{ proto bool ArrayIterator::hasMore() Check whether array contains more entries */ SPL_METHOD(Array, hasMore) { Index: spl/spl_engine.h diff -u spl/spl_engine.h:1.14 spl/spl_engine.h:1.15 --- spl/spl_engine.h:1.14 Sun Nov 9 09:05:35 2003 +++ spl/spl_engine.h Wed Nov 26 18:28:34 2003 @@ -33,15 +33,6 @@ } /* }}} */ -#define spl_call_method_0(obj, obj_ce, fn_proxy, function_name, fname_len, retval) \ - spl_call_method(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 0, NULL, NULL TSRMLS_CC) - -#define spl_call_method_1(obj, obj_ce, fn_proxy, function_name, fname_len, retval, arg1) \ - spl_call_method(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 1, arg1, NULL TSRMLS_CC) - -#define spl_call_method_2(obj, obj_ce, fn_proxy, function_name, fname_len, retval, arg1, arg2) \ - spl_call_method(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 2, arg1, arg2 TSRMLS_CC) - void spl_instantiate(zend_class_entry *pce, zval **object, int alloc TSRMLS_DC); int spl_instantiate_arg_ex1(zend_class_entry *pce, zval **retval, int alloc, zval *arg1 TSRMLS_DC); int spl_instantiate_arg_ex2(zend_class_entry *pce, zval **retval, int alloc, zval *arg1, zval *arg2 TSRMLS_DC); Index: spl/tests/array_iterator.phpt diff -u spl/tests/array_iterator.phpt:1.3 spl/tests/array_iterator.phpt:1.4 --- spl/tests/array_iterator.phpt:1.3 Thu Sep 18 12:26:29 2003 +++ spl/tests/array_iterator.phpt Wed Nov 26 18:28:35 2003 @@ -1,5 +1,5 @@ --TEST-- -SPL: spl_array_iterator +SPL: ArrayIterator --SKIPIF-- <?php if (!extension_loaded("spl")) print "skip"; ?> --FILE-- @@ -8,7 +8,7 @@ echo "==Normal==\n"; $arr = array(0=>0, 1=>1, 2=>2); -$obj = new spl_array($arr); +$obj = new ArrayObject($arr); foreach($obj as $ak=>$av) { foreach($obj as $bk=>$bv) { @@ -22,7 +22,7 @@ echo "==UseRef==\n"; $arr = array(0=>0, 1=>1, 2=>2); -$obj = new spl_array(&$arr); +$obj = new ArrayObject(&$arr); foreach($obj as $ak=>$av) { foreach($obj as $bk=>$bv) { @@ -33,7 +33,7 @@ echo "==Modify==\n"; $arr = array(0=>0, 1=>1, 2=>2); -$obj = new spl_array(&$arr); +$obj = new ArrayObject(&$arr); foreach($obj as $ak=>$av) { foreach($obj as $bk=>$bv) { @@ -47,7 +47,7 @@ echo "==Delete==\n"; $arr = array(0=>0, 1=>1, 2=>2); -$obj = new spl_array(&$arr); +$obj = new ArrayObject(&$arr); foreach($obj as $ak=>$av) { foreach($obj as $bk=>$bv) { @@ -61,7 +61,7 @@ echo "==Change==\n"; $arr = array(0=>0, 1=>1, 2=>2); -$obj = new spl_array(&$arr); +$obj = new ArrayObject(&$arr); foreach($obj as $ak=>$av) { foreach($obj as $bk=>$bv) { @@ -112,11 +112,11 @@ 1=>1 - 0=>0 1=>1 - 1=>1 -Notice: spl_array_it::next(): Array was modified outside object and internal position is no longer valid in %sarray_iterator.php on line %d +Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_iterator.php on line %d 1=>1 - 0=>0 1=>1 - 2=>2 -Notice: spl_array_it::next(): Array was modified outside object and internal position is no longer valid in %sarray_iterator.php on line %d +Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_iterator.php on line %d 0=>0 - 0=>0 0=>0 - 2=>2 2=>2 - 0=>0 @@ -128,11 +128,11 @@ 1=>1 - 0=>0 1=>1 - 1=>1 -Notice: spl_array_it::next(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d +Notice: ArrayIterator::next(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d -Notice: spl_array_it::hasMore(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d +Notice: ArrayIterator::hasMore(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d -Notice: spl_array_it::next(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d +Notice: ArrayIterator::next(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d -Notice: spl_array_it::hasMore(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d +Notice: ArrayIterator::hasMore(): Array was modified outside object and is no longer an array in %sarray_iterator.php on line %d Done Index: spl/tests/array_object.phpt +++ spl/tests/array_object.phpt --TEST-- SPL: ArrayObject --SKIPIF-- <?php if (!extension_loaded("spl")) print "skip"; ?> --FILE-- <?php $ar = array(0=>0, 1=>1); $ar = new ArrayObject($ar); var_dump($ar); $ar[2] = 2; var_dump($ar[2]); var_dump($ar["3"] = 3); var_dump(array_merge((array)$ar, array(4=>4, 5=>5))); var_dump($ar["a"] = "a"); var_dump($ar); var_dump($ar[0]); var_dump($ar[6]); var_dump($ar["b"]); unset($ar[1]); unset($ar["3"]); unset($ar["a"]); unset($ar[7]); unset($ar["c"]); var_dump($ar); echo "Done\n"; ?> --EXPECTF-- object(ArrayObject)#1 (2) { [0]=> int(0) [1]=> int(1) } int(2) int(3) array(6) { [0]=> int(0) [1]=> int(1) [2]=> &int(2) [3]=> &int(3) [4]=> int(4) [5]=> int(5) } string(1) "a" object(ArrayObject)#1 (5) { [0]=> int(0) [1]=> int(1) [2]=> &int(2) [3]=> &int(3) ["a"]=> &string(1) "a" } int(0) Notice: Undefined offset: 6 in %sarray_object.php on line %d NULL Notice: Undefined index: b in %sarray_object.php on line %d NULL Notice: Undefined offset: 7 in %sarray_object.php on line %d Notice: Undefined index: c in %sarray_object.php on line %d object(ArrayObject)#1 (2) { [0]=> int(0) [2]=> &int(2) } Done