Я просто 50 раз подряд запускаю бенчмарк микротайма против preg_match
в операторе if
и filter_var_array
проверяем те же самые данные сброса, вот результаты микротайма:
filter_var_array
microtime: 0.000834226608276
preg_match
microtime: 0.000180006027222
filter_var_array
выглядит симпатично, но в 4-8 раз медленнее, чем preg_match
, поэтому, если у вас есть сайт с большим трафиком и вы предпочитаете быстрый код, я бы порекомендовал preg_match
.
Однако, если вам нравится хороший чистый кодна самом деле все равно, как он работает, тогда используйте filter_var_array
, который может быть более управляемым для применения простых фильтров для запросов и входных данных многих форм.
Но такого рода легкость также может быть достигнута написанием функции preg_match
для различных сценариев, таких как электронная почта или алфавитно-цифровая, но помните preg_match
безопасность при написании регулярного выражения, например:
http://blog.php -security.org / archives / 76-Holes-in-Most-preg_match-filters.html
Я хотел бы также видеть сострадание к использованию памяти на обоих.
Надеюсь, это поможет