Usar cualquiera de ambos métodos no es eficientes, hay otras mejores maneras, por ejemplo la siguiente es de las mejores:
Código PHP:
$extensiones = array(
'jpg'=>'jpg',
'gif'=>'gif',
'doc'=>'doc',
'pdf'=>'pdf'
);
$extension = 'pdf';
echo isset( $extensiones[$extension] ) ? 'Extensión válida' : 'Solo puedes subir archivos con extensión '. join(', ',$extensiones);
PD: Hay que usar solo regex cuando son necesarias, no en otro momento ya que no son livianas.