Sleep [] là một hàm sẵn có khác của PHP được sử dụng để hoãn việc thực thi nội dung đang diễn ra trong một số giây được xác định trước. Hàm ngủ [] thừa nhận giây là ranh giới và trả về TRUE khi tiến trình hoặc FALSE trong các trường hợp thất bại
Trong trường hợp cuộc gọi bị xâm nhập bởi một dấu hiệu, hàm ngủ [ ] trả về một giá trị khác không. Trên Windows, giá trị này sẽ luôn là 192 trong khi ở các giai đoạn khác, giá trị trả về sẽ là số giây còn lại để ngủ
cú pháp
Tham số Hàm ngủ [ ] trong PHP chỉ thừa nhận một tham số
Tham số Mô tảBắt buộc / Tùy chọn$ giây Tham số này được sử dụng để xác định số giây mà chương trình sẽ trì hoãn. Nó phải tính bằng mili giây. Bắt buộcHàm sleep[] trả về TRUE nếu thành công hoặc FALSE nếu thất bại
ngoại lệ
- Nếu cuộc gọi bị can thiệp bởi một dấu hiệu, chức năng ngủ [ ] sẽ trả về một đánh giá khác không
- Giá trị của giây được truyền dưới dạng tham số phải không âm;
1. Ví dụ về hàm ngủ [ ]
Ví dụ này sẽ giúp hiểu đầy đủ chức năng ngủ [ ]
đầu ra
ví dụ 2. Một ví dụ khác giúp bạn hiểu hàm sleep[]
đầu ra
ví dụ 3. Chức năng này sẽ cho phép người dùng tăng thời gian cho một khoảng thời gian ngẫu nhiên bằng cách sử dụng chức năng ngủ [ ]
đầu ra
Ví dụ 4. chương trình minh họa việc sử dụng nhiều chức năng ngủ
đầu ra
Hàm thời gian PHP [ ]
Thí dụ. Phương pháp khác để thực hiện chế độ ngủ bằng vòng lặp
đầu ra
Chương trình này chỉ ra các cách khác nhau để sử dụng giới hạn thời gian mà không sử dụng hàm sleep[] tại đây. Chúng tôi đã sử dụng hàm time[] để thay thế. Để thực hiện thao tác, chúng tôi đã khai báo một biến và gán cho nó hàm time [], đây là một hàm PHP có sẵn khác, sau đó sử dụng vòng lặp while và tăng biến với + 4 để nó có thể tiến hành thêm 4 giây sau khi hoàn thành
Trong khi nó chăm sóc doanh nghiệp, có hai vấn đề với nó. Ngay lập tức, time[] có độ chính xác cực kỳ thấp, chỉ trả về số giây đã trôi qua, điều này làm cho toàn bộ điều rất khó hiểu. Ngoài ra, PHP cần ở lại đó, quay vòng rất nhiều lần trong khi nó tạm dừng, về cơ bản là không hoạt động. Một giải pháp cải tiến đáng kể là sử dụng một trong hai khả năng nghỉ của nội dung, chế độ ngủ [] và chế độ ngủ [], lấy một số lề để dừng thực thi làm ranh giới chính của chúng.
Ghi chú. - Sự tương phản giữa sleep[] và usleep[] là sleep[] cần nhiều giây làm ranh giới, trong khi usleep[] cần nhiều micro giây - một phần triệu giây - làm ranh giới. Việc sử dụng cả hai chắc chắn chính xác hơn vòng tròn time[] trước đây và cả hai đều được hưởng lợi - sleep[] sẽ tốt hơn nếu bạn không cần quan tâm đến độ chính xác và usleep[] tốt hơn,
Hàm ngủ [ ] trong PHP
cú pháp
Thí dụ. Chức năng này sẽ giúp hiểu đầy đủ về chức năng ngủ [ ]
đầu ra
Ở đây trong chương trình này, như bạn có thể thấy, hàm sleep[] hoạt động chính xác như hàm sleep[] nhưng chỉ có một khác biệt duy nhất, hàm sleep chiếm một giây làm tham số, trong khi hàm usleep[] lấy một phần nghìn giây làm tham số
Việc muốn thêm độ trễ khi thực thi tập lệnh là điều rất phổ biến. Trong PHP, điều này có thể được thực hiện bằng cách sử dụng các hàm ngủ khác nhau
Hàm ngủ [] gốc sẽ tạm dừng thực thi tập lệnh trong khoảng thời gian được chỉ định tính bằng giây. Cũng có thể tạm dừng thực thi tính bằng nano giây bằng cách sử dụng time_nanosleep[] hoặc micro giây bằng usleep[]
Không có chức năng riêng cho Mili giây, nhưng bạn có thể tạo chức năng của riêng mình
Để ngủ trong mười giây, bạn chỉ cần nhập đoạn mã sau vào tập lệnh của mình
echo "This is the beginning\n"; sleep[10]; echo "And this is the end\n";
Lập lịch tác vụ với PHP sleep
Nói chung, việc lên lịch thực thi từ các tập lệnh PHP là một ý tưởng tồi. Cron thực hiện công việc lập lịch trình tốt hơn nhiều
Điều đó không có nghĩa là nó không thể được thực hiện. Bạn chỉ cần hết sức cẩn thận, đảm bảo rằng tập lệnh của bạn đang thực sự chạy và cẩn thận không chạy nhiều bản sao. Bạn không muốn các tập lệnh của mình không thực thi được vì bộ lập lịch biểu của bạn bị chặn hoặc bị lỗi và bạn chắc chắn không muốn chạy các tác vụ thường xuyên hơn dự định
Bạn cũng có thể muốn tránh sử dụng các yêu cầu HTTP để gọi các tập lệnh đã lên lịch, trong trường hợp lỗi mạng. Nhưng, nó phụ thuộc vào yêu cầu của quá trình
Để tránh vô tình chạy nhiều phiên bản của bộ lập lịch, bạn có thể muốn sử dụng một nhóm đơn giản để chặn hoặc từ chối các nỗ lực chạy bộ lập lịch trong khi nó đang chạy
Thời gian thực hiện tối đa
Các chức năng ngủ không được tính vào một tập lệnh max_execution_time. Một cách để kiểm tra điều này là chạy đoạn mã dưới đây từ trình duyệt