sleep()
ใน php มีฟังก์ชันทำให้หยุดการทำงานระยะหนึ่งหรือทำให้ล่าช้า หลายฟังก์ชัน เช่น usleep() ฟังก์ชันการดำเนินงานล่าช้าในรูปแบบหน่วยไมโครวินาที หรือ ฟังก์ชัน set_time_limit() ใช้ในการจำกัดเวลาการ Run Script และฟังก์ชันที่เราจะพูดถึงในบทความนี้ครับ sleep() ฟังก์ชั่นหลับ คือสั่งให้หยุดการรันโปรแกรมไว้ก่อน เป็นเวลาตามที่ต้องการ หลังจากนั้น จึงค่อยทำการรันต่อไป หรือหมายถึงฟังก์ชันความล่าช้าในการดำเนินการของสคริปต์ปัจจุบันเป็นเวลาหลายวินาที ฟังก์ชันนี้จะคืนค่าเป็น 0 ถ้าทำงานสำเร็จ และคืนค่าเป็น false ในกรณีที่เเกิดการผิดพลาดขึ้นมาครับ
แต่ถ้าหากโทรถูกขัดจังหวะโดยสัญญาณฟังก์ชันจะส่งกลับค่าไม่ใช่ศูนย์ บนแพลตฟอร์มของ Windows ค่านี้จะเป็น 192 มันหมายถึงค่าของค่าคงที่ของ Windows API WAIT_IO_COMPLETION บนแพลตฟอร์มอื่น ๆ , ค่าตอบแทนเป็นจำนวนวินาทีที่เหลืออยู่ในความล่าช้า
รูปแบบ syntex
sleep ( int $seconds ) : int
ตัวอย่างการใช้งานฟังก์ชัน sleep()
<?php
// current time
echo date('h:i:s') . "\n";
// sleep for 10 seconds
sleep(10);
// หลังจาก 10 seconds
echo date('h:i:s') . "\n";
?>
ผลลัพธ์ที่จะได้ดังนี้
04:48:28
04:48:38
จะเห็นว่าเมื่อรันโค้ดนี้ หลังจากที่ echo date('h:i:s') 04:48:28
เสร็จแล้วโปรแกรมจะทำงานฟังก์ชัน sleep(10) ซึ่งจะหยุดสักระยะเวลาประมาณ 10 วินาที แล้วค่อย echo date('h:i:s') 04:48:38
ในเวลาต่อมา ฟังก์ชันนี้ไม่ซับซ้อนซึ่งเข้าใจง่าย คือถ้าต้องให้โปรแกรมทำ delay กี่วินาที ก็กำหนดไปแค่นั้นเองครับ เราสามารถนำไปประยุกต์กับโปรเจ็คเราได้ เช่น ถ้าต้องการหยุดทำสักระยะหนึ่ง ก็ใช้ฟังก์ชันนี้ เป็นต้น นอกจากนั้นแล้ว ยังมีหลายฟังก์ชัน ที่ทำงานคล้ายๆกัน เช่น usleep () - การดำเนินการล่าช้าในหน่วยไมโครวินาที time_nanosleep () - ล่าช้าไปหลายวินาทีและนาโนวินาที time_sleep_until () - ทำให้สคริปต์พักจนกระทั่งถึงเวลาที่ระบุ