mirror of
https://github.com/php/php-src.git
synced 2024-09-22 18:37:25 +00:00
Merge branch 'PHP-5.4'
* PHP-5.4: Fixed bug RecursiveArrayIterator does not implement Countable
This commit is contained in:
commit
12b252e1dd
@ -1943,6 +1943,7 @@ PHP_MINIT_FUNCTION(spl_array)
|
||||
REGISTER_SPL_IMPLEMENTS(ArrayObject, Aggregate);
|
||||
REGISTER_SPL_IMPLEMENTS(ArrayObject, ArrayAccess);
|
||||
REGISTER_SPL_IMPLEMENTS(ArrayObject, Serializable);
|
||||
REGISTER_SPL_IMPLEMENTS(ArrayObject, Countable);
|
||||
memcpy(&spl_handler_ArrayObject, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
|
||||
|
||||
spl_handler_ArrayObject.clone_obj = spl_array_object_clone;
|
||||
@ -1967,6 +1968,7 @@ PHP_MINIT_FUNCTION(spl_array)
|
||||
REGISTER_SPL_IMPLEMENTS(ArrayIterator, ArrayAccess);
|
||||
REGISTER_SPL_IMPLEMENTS(ArrayIterator, SeekableIterator);
|
||||
REGISTER_SPL_IMPLEMENTS(ArrayIterator, Serializable);
|
||||
REGISTER_SPL_IMPLEMENTS(ArrayIterator, Countable);
|
||||
memcpy(&spl_handler_ArrayIterator, &spl_handler_ArrayObject, sizeof(zend_object_handlers));
|
||||
spl_ce_ArrayIterator->get_iterator = spl_array_get_iterator;
|
||||
|
||||
@ -1974,9 +1976,6 @@ PHP_MINIT_FUNCTION(spl_array)
|
||||
REGISTER_SPL_IMPLEMENTS(RecursiveArrayIterator, RecursiveIterator);
|
||||
spl_ce_RecursiveArrayIterator->get_iterator = spl_array_get_iterator;
|
||||
|
||||
REGISTER_SPL_IMPLEMENTS(ArrayObject, Countable);
|
||||
REGISTER_SPL_IMPLEMENTS(ArrayIterator, Countable);
|
||||
|
||||
REGISTER_SPL_CLASS_CONST_LONG(ArrayObject, "STD_PROP_LIST", SPL_ARRAY_STD_PROP_LIST);
|
||||
REGISTER_SPL_CLASS_CONST_LONG(ArrayObject, "ARRAY_AS_PROPS", SPL_ARRAY_ARRAY_AS_PROPS);
|
||||
|
||||
|
10
ext/spl/tests/bug62262.phpt
Normal file
10
ext/spl/tests/bug62262.phpt
Normal file
@ -0,0 +1,10 @@
|
||||
--TEST--
|
||||
Bug #62262: RecursiveArrayIterator does not implement Countable
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
var_dump(new RecursiveArrayIterator(array()) instanceof Countable);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(true)
|
Loading…
Reference in New Issue
Block a user