我已经读过很多遍了,使用ctype_xyz
函数比使用正则表达式更快,更好。但是我做了一些测试,正则表达式的速度更快。
请参见下面的示例:
PHP版本:7.2
操作系统:Windows
<?php
$foo = '112312312312323';
$start_time = microtime(true);
for ($i = 0; $i < 10000; $i++) {
$foo = $foo.'1';
preg_match('/^[a-zA-Z0-9]+$/', $foo);
// ctype_alnum($foo);
}
$end_time = microtime(true);
echo 'Result: ' . ($end_time - $start_time);
对于preg_match('/^[a-zA-Z0-9]+$/', $foo);
,输出为Result: 0.094325065612793
对于ctype_alnum($foo);
,输出为:Result: 1.8465659618378
有人可以向我解释吗?