<?php
function iterate($current, $queue, $result = null)
{
if (!$current) {
return $result;
}
return iterate(step($queue), $queue, $current);
}
function step(&$queue)
{
return next($queue);
}
function start($queue)
{
return current($queue);
}
function traverse($queue)
{
return iterate(start($queue), $queue);
}
$queue = ['foo', 'bar', 'baz'];
$queue = unserialize(serialize($queue));
echo traverse($queue); //baz
- Output for 5.6.0 - 5.6.29, 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
- baz
- Output for 7.0.0 - 7.0.14, 7.1.0
Process exited with code 137.
preferences:
161.63 ms | 401 KiB | 199 Q