Không có điểm chuẩn nào, nhưng cá nhân tôi cảm thấy nó trông $array[]
sạch sẽ hơn và thành thật mà nói, việc chia nhỏ các sợi tóc trong mili giây là khá không liên quan trừ khi bạn có kế hoạch thêm hàng trăm nghìn chuỗi vào mảng của mình.
Chỉnh sửa : Chạy mã này:
$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;
Phương pháp đầu tiên sử dụng $array[]
nhanh hơn gần 50% so với phương pháp thứ hai.
Một số kết quả điểm chuẩn:
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[]
Điều này không có gì đáng ngạc nhiên, vì hướng dẫn sử dụng PHP lưu ý điều này:
Nếu bạn sử dụng array_push () để thêm một phần tử vào mảng thì tốt hơn nên sử dụng $ array [] = vì theo cách đó, không có chi phí gọi hàm.
Cách nó được diễn đạt Tôi sẽ không ngạc nhiên nếu array_push
hiệu quả hơn khi thêm nhiều giá trị. CHỈNH SỬA : Vì tò mò, đã thực hiện một số thử nghiệm thêm và thậm chí đối với một số lượng lớn bổ sung, các $array[]
cuộc gọi riêng lẻ nhanh hơn một cuộc gọi lớn array_push
. Hấp dẫn.