3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Queue { private $arr = []; public function enqueue(&$e) { \array_unshift($this->arr, [&$e]); } public function &dequeue() { $x =& \array_pop($this->arr)[0]; return $x; } public function is_empty() { return empty($this->arr); } } $q = new Queue(); $a = [42, 124, 35]; $q->enqueue($a); $a[] = 1337; $b = $q->dequeue(); $b[] = 12345; var_dump($a); var_dump($b);

preferences:
60.29 ms | 402 KiB | 5 Q