acabo de ejecutar un lado microtime referencia a lado 50 veces contra preg_match
en un comunicado por if
y filter_var_array
validación de los mismos datos de restablecimiento exactos, aquí están los resultados microtime:
filter_var_array
microtime: 0.000834226608276
preg_match
microtime: 0.000180006027222
filter_var_array
parece bastante, pero es de 4 a 8 veces más lento que preg_match
así que si tienes un sitio web con mucho tráfico y prefieres el código rápido, te recomendaría preg_match
.
Sin embargo, si te gusta el buen código de limpieza y no te importa cómo funciona, utiliza filter_var_array
, que puede ser más manejable para aplicar filtros fáciles en muchas solicitudes de formularios y entradas.
Pero este tipo de facilidad también puede lograrse mediante la escritura de una función preg_match
para diferentes escenarios, tales como el correo electrónico o alfanumérico pero tenga en cuenta la seguridad preg_match
al escribir la expresión regular, por ejemplo:
http://blog.php-security.org/archives/76-Holes-in-most-preg_match-filters.html
lo haría Me gusta ver una compasión de uso de memoria en ambos también.
Esperanza esto ayuda
uso php_filter en cualquier momento se puede, que es construir-en (poco más rápido y que está seguro de utilizar la validación derecha), si no puede encontrar lo que necesita, a continuación, utilizar una personalizada. –
No estaba hablando de funciones personalizadas, ya que la función integrada siempre será más rápida. Estaba hablando de filtros que ya tienen una alternativa nativa a la función php. – Tiddo
Entiendo, pero si usa un preg_match tendrá que personalizar la expresión regular - Debería haber dicho, la expresión regular personalizada con preg_match disculpe la confusión –