PHP中哪个更快,$array[] = $value或array_push($array,$value)?
2022-08-30 18:40:02
在 PHP 中,有什么更好的用于追加数组成员,
$array[] = $value;
或
array_push($array, $value);
?
虽然手册说你最好避免函数调用,但我也读过比慢得多。有哪些澄清或基准?$array[]
array_push()
在 PHP 中,有什么更好的用于追加数组成员,
$array[] = $value;
或
array_push($array, $value);
?
虽然手册说你最好避免函数调用,但我也读过比慢得多。有哪些澄清或基准?$array[]
array_push()
我个人觉得看起来更干净,老实说,在几毫秒内拆分头发是无关紧要的,除非你打算将数十万个字符串附加到你的数组中。$array[]
我运行了以下代码:
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
$array[] = $i;
}
print microtime(true) - $t;
print '<br>';
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
array_push($array, $i);
}
print microtime(true) - $t;
第一种方法使用比第二种方法快近50%。$array[]
Run 1
0.0054171085357666 // array_push
0.0028800964355469 // array[]
Run 2
0.0054559707641602 // array_push
0.002892017364502 // array[]
Run 3
0.0055501461029053 // array_push
0.0028610229492188 // array[]
这并不奇怪,因为PHP手册指出了这一点:
如果使用 array_push() 向数组中添加一个元素,则最好使用 $array[] = ,因为这样调用函数就没有开销。
它的表述方式,如果在添加多个值时更有效,我不会感到惊讶。出于好奇,我做了一些进一步的测试,即使对于大量的添加,单个调用也比一个大的快。有趣。array_push
$array[]
array_push
array_push() 的主要用途是可以将多个值推送到数组的末尾。
它在文档中说:
如果使用 array_push() 向数组中添加一个元素,则最好使用 $array[] = ,因为这样调用函数就没有开销。