<?php
class Shiterator implements Iterator {
private $_array = array();
public function __construct(array $array) {
$this->_array = $array;
}
public function rewind() {
reset($this->_array);
}
public function current() {
return current($this->_array);
}
public function key() {
return key($this->_array);
}
public function next() {
next($this->_array);
}
public function valid() {
return $this->key() !== null;
}
}
$stdcls = new stdClass();
$stdcls->message = 'PHP, still a peice of shit.';
$i = new Shiterator(array(stdcls));
foreach ($i as $t) {
echo $t->message;
}
Deprecated: Return type of Shiterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/s5uM7 on line 13
Deprecated: Return type of Shiterator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/s5uM7 on line 21
Deprecated: Return type of Shiterator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/s5uM7 on line 17
Deprecated: Return type of Shiterator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/s5uM7 on line 25
Deprecated: Return type of Shiterator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/s5uM7 on line 9
Fatal error: Uncaught Error: Undefined constant "stdcls" in /in/s5uM7:33
Stack trace:
#0 {main}
thrown in /in/s5uM7 on line 33
Process exited with code 255.
Output for 8.0.0 - 8.0.30
Fatal error: Uncaught Error: Undefined constant "stdcls" in /in/s5uM7:33
Stack trace:
#0 {main}
thrown in /in/s5uM7 on line 33
Process exited with code 255.
Warning: Use of undefined constant stdcls - assumed 'stdcls' (this will throw an Error in a future version of PHP) in /in/s5uM7 on line 33
Notice: Trying to get property 'message' of non-object in /in/s5uM7 on line 36
Output for 7.3.32 - 7.3.33
Warning: Use of undefined constant stdcls - assumed 'stdcls' (this will throw an Error in a future version of PHP) in /in/s5uM7 on line 33
Notice: Use of undefined constant stdcls - assumed 'stdcls' in /in/s5uM7 on line 33
Notice: Trying to get property of non-object in /in/s5uM7 on line 36
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_ARRAY, expecting '&' or T_VARIABLE in /in/s5uM7 on line 5
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting '{' in /in/s5uM7 on line 3
Process exited with code 255.