gpt4 book ai didi

php - count 和 sizeof 有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 12:48:23 24 4
gpt4 key购买 nike

我想计算一些数组中值的数量。

countsizeof 有什么区别?

$recips = array();
echo count($recips);
echo sizeof($recips);

最佳答案

“sizeof”是“count”的别名——至少根据 PHP 手册是这样的!

实际上,这两个函数的行为不同,至少在执行时间上是这样——sizeof 的执行时间要长得多!

结论是:sizeof 不是 count 的别名

例子:

<?php
$a = array();
for ($i = 0; $i < 1000000; ++$i) {
$a[] = 100;
}


function measureCall(\Closure $cb)
{
$time = microtime(true);
call_user_func($cb);
return microtime(true) - $time;
}

for ($i = 0; $i < 3; ++$i) {
echo measureCall(function () use ($a) {
for ($i = 0; $i < 10000000; ++$i) {
count($a);
}
}) . " seconds for count!\n";

echo measureCall(function () use ($a) {
for ($i = 0; $i < 10000000; ++$i) {
sizeof($a);
}
}) . " seconds for sizeof!\n";
}

结果是:

0.9708309173584 seconds for count!
3.1121120452881 seconds for sizeof!
1.0040831565857 seconds for count!
3.2126860618591 seconds for sizeof!
1.0032908916473 seconds for count!
3.2952871322632 seconds for sizeof!

更新:本次测试在 PHP 7.2.6 上执行

关于php - count 和 sizeof 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28809203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com