<?php
class Collection extends ArrayObject {
protected $iterator;
public function getIterator() {
// Well, this is a heavy object to make, let's memoize it
if (!isset($this->iterator)) {
$this->iterator = new ArrayIterator($this);
}
return $this->iterator;
}
}
gc_enable();
foreach (range(1, 5000000) as $i) {
$collection = new Collection([ 'foo', 'bar' ]);
foreach ($collection as $item) {
//echo $item;
}
unset($collection);
}
Deprecated: Return type of Collection::getIterator() should either be compatible with ArrayObject::getIterator(): Iterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/mtHL8 on line 6
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 134217736 bytes) in /in/mtHL8 on line 18
Process exited with code 255.
Output for 8.1.0 - 8.1.28
Deprecated: Return type of Collection::getIterator() should either be compatible with ArrayObject::getIterator(): Iterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/mtHL8 on line 6
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 268435464 bytes) in /in/mtHL8 on line 18
Process exited with code 255.
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 268435464 bytes) in /in/mtHL8 on line 18
Process exited with code 255.
Output for 7.3.32 - 7.3.33, 8.0.13
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 268435464 bytes) in /in/mtHL8 on line 18
Process exited with code 255.
Parse error: syntax error, unexpected '[', expecting ')' in /in/mtHL8 on line 20
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[', expecting ')' in /in/mtHL8 on line 20
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/mtHL8 on line 4
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/mtHL8 on line 4
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/mtHL8 on line 4
Process exited with code 255.