3v4l.org

run code in 300+ PHP versions simultaneously
<?php function kv(& $a) { $b = $a; end($b); $kv = [$k = key($b), current($b)]; unset($b); // TRICKY: We must unset $b before modifying $a to avoid copy-on-write for $a. unset($a[$k]); return $kv; } $a = [1, 2, 3, 4, 5, 6]; next($a); next($a); echo current($a) . PHP_EOL; var_dump($a); var_dump(kv($a)); echo current($a) . PHP_EOL; var_dump($a);

preferences:
27.52 ms | 402 KiB | 5 Q