Ho un dubbio!

Mi è sempre stato insegnato che array_pop è molto più performante di array_shift, ed anche se fosse necessario fare un array_reverse+array_pop si risparmia comunque parecchio!

Ora, io ho un array da cui estrarre un record alla volta, solo che se l'utente lo richiede io devo aggiungere l'elemento appena estratto dalla parte opposta dell'array (in modo che "torni" per ultimo)!
Avevo pensato inizialmente ad array_shift così:
Codice PHP:
$elemento=array_shift($array);
...
if (
$utente_richiede){
   
$array[] = $elemento;

Pensando alle prestazioni però dovrei fare:
Codice PHP:
$elemento=array_pop($array);
...
if (
$utente_richiede){
   
$array=array_reverse($array);
   
$array[] = $elemento;
   
$array=array_reverse($array);

Non mi sembra molto performante... che ne dite?