<?php
class DebugRII extends RecursiveIteratorIterator {
public function beginChildren() { echo __METHOD__, "\n"; }
public function beginIteration() { echo __METHOD__, "\n"; }
public function callGetChildren() { echo __METHOD__, "\n"; }
public function callHasChildren() { echo __METHOD__, "\n"; }
public function endChildren() { echo __METHOD__, "\n"; }
public function endIteration() { echo __METHOD__, "\n"; }
}
class DebugRAI extends RecursiveArrayIterator {
public function rewind() { echo __METHOD__, "\n"; return parent::rewind(); }
public function current() { echo __METHOD__, "\n"; return parent::current(); }
public function key() { echo __METHOD__, "\n"; return parent::key(); }
public function valid() { echo __METHOD__, "\n"; return parent::valid(); }
public function next() { echo __METHOD__, "\n"; return parent::next(); }
}
$array = array("A","B","C");
$iterator = new RecursiveArrayIterator(new RecursiveArrayIterator($array));
while ($iterator->valid()) {
echo $iterator->current(), "\n";
$iterator->next();
}
Deprecated: Return type of DebugRII::beginIteration() should either be compatible with RecursiveIteratorIterator::beginIteration(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 4
Deprecated: Return type of DebugRII::endIteration() should either be compatible with RecursiveIteratorIterator::endIteration(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 8
Deprecated: Return type of DebugRII::callHasChildren() should either be compatible with RecursiveIteratorIterator::callHasChildren(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 6
Deprecated: Return type of DebugRII::callGetChildren() should either be compatible with RecursiveIteratorIterator::callGetChildren(): ?RecursiveIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 5
Deprecated: Return type of DebugRII::beginChildren() should either be compatible with RecursiveIteratorIterator::beginChildren(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 3
Deprecated: Return type of DebugRII::endChildren() should either be compatible with RecursiveIteratorIterator::endChildren(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 7
Deprecated: Return type of DebugRAI::rewind() should either be compatible with ArrayIterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 12
Deprecated: Return type of DebugRAI::current() should either be compatible with ArrayIterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 13
Deprecated: Return type of DebugRAI::key() should either be compatible with ArrayIterator::key(): string|int|null, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 14
Deprecated: Return type of DebugRAI::next() should either be compatible with ArrayIterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 16
Deprecated: Return type of DebugRAI::valid() should either be compatible with ArrayIterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/P0Ggp on line 15
A
B
C
Fatal error: Class 'RecursiveArrayIterator' not found in /in/P0Ggp on line 11
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/P0Ggp on line 3
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/P0Ggp on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/P0Ggp on line 3
Process exited with code 255.