Je viens d'exécuter 50 fois un benchmark microtime côte à côte contre preg_match
dans un if
déclaration et filter_var_array
en validant exactement les mêmes données de réinitialisation, voici les résultats en microtemps :
filter_var_array
microtime: 0.000834226608276
preg_match
microtime: 0.000180006027222
filter_var_array
est jolie, mais elle est 4 à 8 fois plus lente que l'application preg_match
Donc, si vous avez un site web à fort trafic et que vous préférez un code rapide, je vous recommande preg_match
.
Cependant, si vous aimez le code propre et que vous ne vous souciez pas vraiment de la façon dont il s'exécute, alors utilisez filter_var_array
qui peut être plus facile à gérer pour appliquer des filtres simples sur de nombreux formulaires de demande et d'entrée.
Mais ce type de facilité peut également être obtenu en écrivant un fichier preg_match
pour différents scénarios tels que l'email ou l'alphanumérique, mais gardez à l'esprit que la fonction preg_match
lors de l'écriture de l'expression rationnelle, par exemple :
http://blog.php-security.org/archives/76-Holes-in-most-preg_match-filters.html
J'aimerais voir une analyse de l'utilisation de la mémoire pour les deux.
J'espère que cela vous aidera