php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /opt/php-7.0.1/ext/spl/tests/ |
files >> //opt/php-7.0.1/ext/spl/tests/arrayObject_getIteratorClass_basic1.phpt |
--TEST-- SPL: ArrayObject::getIteratorClass and ArrayObject::setIteratorClass basic functionality --FILE-- <?php class MyIterator extends ArrayIterator { function __construct() { $args = func_get_args(); echo " In " . __METHOD__ . "(" . implode($args, ',') . ")\n"; } function rewind() { $args = func_get_args(); echo " In " . __METHOD__ . "(" . implode($args, ',') . ")\n"; return parent::rewind(); } function valid() { $args = func_get_args(); echo " In " . __METHOD__ . "(" . implode($args, ',') . ")\n"; return parent::valid(); } function current() { $args = func_get_args(); echo " In " . __METHOD__ . "(" . implode($args, ',') . ")\n"; return parent::current(); } function next() { $args = func_get_args(); echo " In " . __METHOD__ . "(" . implode($args, ',') . ")\n"; return parent::next(); } function key() { $args = func_get_args(); echo " In " . __METHOD__ . "(" . implode($args, ',') . ")\n"; return parent::key(); } } $ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3), 0, "MyIterator"); echo "--> Access using MyIterator:\n"; var_dump($ao->getIteratorClass()); var_dump($ao->getIterator()); foreach($ao as $key=>$value) { echo " $key=>$value\n"; } echo "\n\n--> Access using ArrayIterator:\n"; var_dump($ao->setIteratorClass("ArrayIterator")); var_dump($ao->getIteratorClass()); var_dump($ao->getIterator()); foreach($ao as $key=>$value) { echo "$key=>$value\n"; } ?> --EXPECTF-- --> Access using MyIterator: string(10) "MyIterator" object(MyIterator)#2 (1) { ["storage":"ArrayIterator":private]=> object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(3) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) } } } In MyIterator::rewind() In MyIterator::valid() In MyIterator::current() In MyIterator::key() a=>1 In MyIterator::next() In MyIterator::valid() In MyIterator::current() In MyIterator::key() b=>2 In MyIterator::next() In MyIterator::valid() In MyIterator::current() In MyIterator::key() c=>3 In MyIterator::next() In MyIterator::valid() --> Access using ArrayIterator: NULL string(13) "ArrayIterator" object(ArrayIterator)#3 (1) { ["storage":"ArrayIterator":private]=> object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(3) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) } } } a=>1 b=>2 c=>3y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`