小编Tom*_*Tom的帖子

为什么in_array整数严格模式比非严格模式慢?

我一直认为in_array严格模式会更快,或者至少与非严格模式相同。但是在进行一些基准测试后,我发现在搜索整数时它们之间的执行时间存在巨大差异。字符串和数组测试表明严格模式更快。为什么?

测试代码-(PHP 7.2.1):

<?php

$array = array_fill(0, 10000, 12345);

for ($i=0; $i<100000; $i++) {
    in_array($i, $array, true);
}

Run Code Online (Sandbox Code Playgroud)

时间php test.php

php -c test.php 12.98s用户0.04s系统98%cpu 13.234


<?php

$array = array_fill(0, 10000, 12345);

for ($i=0; $i<100000; $i++) {
    in_array($i, $array, false);
}

Run Code Online (Sandbox Code Playgroud)

时间php test.php

php -c test.php 6.44s用户0.04s系统99%cpu 6.522

php php-internals

9
推荐指数
1
解决办法
148
查看次数

标签 统计

php ×1

php-internals ×1