- var_dump: documentation ( source)
- end: documentation ( source)
- key: documentation ( source)
- range: documentation ( source)
- next: documentation ( source)
- current: documentation ( source)
<?php
if (PHP_VERSION !== '7.1.6') die('Meh');
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 = range(1, 2000000);
next($a); next($a);
echo current($a) . PHP_EOL;
var_dump($a);
var_dump(kv($a));
echo current($a) . PHP_EOL;
var_dump($a);