ไม่มีเกณฑ์มาตรฐาน แต่โดยส่วนตัวแล้วฉันรู้สึกว่า$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;
วิธีแรกใช้$array[]
เร็วกว่าวิธีที่สองเกือบ 50%
ผลการเปรียบเทียบบางส่วน:
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
น่าสนใจ