คืออยากจะอธิบายว่า PHP ประมวลผลแบบเป็นลำดับขั้นครับ
มันจะไม่ไปต่อจนกว่า จะเสร็จกระบวนการที่กำลังทำอยู่
ถ้าคิดว่า จะข้ามขั้นตอนที่กินเวลานานจริง ๆ ต้องเอา loop เข้าไป อยู่ใน function แล้ว สั่งให้ die หรือ break ในเวลาที่กำหนด จากนั้นมันถึงจะไปโปรเซสอื่น ๆ ได้ครับ
แต่มันก็มีวิธีให้รันครบทุกโปรเซสแม้ว่าเราจะปิด Browser ไปแล้วก็ตาม
โดยการเพิ่ม 2 ฟังชั่นนี้เข้าไปครับ
set_time_limit(0); //ตั้งให้ไม่มี time limit รันไปจนกว่าจะจบ
ignore_user_abort(1); //สั่งให้รันต่อแม้ว่าจะปิด Browser ไปแล้วก็ตาม
อ่านข้อมูลเพิ่มที่นี่ครับ
http://www.php.net/manual/ro/function.ignore-user-abort.php 