Hôm nay, chúng tôi muốn chia sẻ với các bạn hàm PHP sleep delay tăng thời gian thực hiện. Trong bài đăng này, chúng tôi sẽ giới thiệu cho bạn Php, đợi 5 giây trước khi thực hiện một hành động, hãy nghe phần Hiệu ứng trì hoãn jQuery với Ví dụ Hoạt hình, chúng tôi sẽ cung cấp cho bạn bản demo và ví dụ để thực hiện. Trong bài đăng này, chúng ta sẽ tìm hiểu về Thêm độ trễ vào thời gian thực thi tập lệnh trong PHP bằng cách sử dụng hàm ngủ PHP với một ví dụ
Chức năng trì hoãn giấc ngủ PHP tăng thời gian thực hiện
nội dung
Có những điều sau đây Đơn giản về PHP chức năng trì hoãn giấc ngủ tăng thời gian thực hiện Thông tin đầy đủ với ví dụ và mã nguồn
Cũng đọc phần này 👉 sự kiện đã chọn nút radio jquery
Vì tôi sẽ giới thiệu Bài đăng này với ví dụ Làm việc trực tiếp để phát triển Trì hoãn, ngủ, tạm dừng, chờ, v.v. trong PHP, do đó, độ trễ (ngủ) một lệnh gọi hàm PHP bằng PHP cho ví dụ này như sau bên dưới
Chức năng ngủ PHP ()
Các phương thức ngủ () của PHP trì hoãn một số thực thi tập lệnh đang hoạt động trong một số giây (độ trễ) được chỉ định
cú pháp
Sử dụng chế độ ngủ PHP để thêm một số lần trì hoãn hoặc tăng thời gian thực thi tập lệnh của bạn
Lệnh PHP ở trên sẽ tạo độ trễ cho PHP là 25 giây, quá trình thực thi tập lệnh tiếp theo sẽ diễn ra sau khoảng thời gian trễ là 25 giây
int ngủ ( int $ giây ). Hàm sleep() được sử dụng để trì hoãn việc thực thi chương trình trong một số giây nhất định
Sơ đồ
Trình soạn thảo mã PHP
Có một cách khác để giải quyết giải pháp này?
Trước. Viết tập lệnh PHP để in phiên bản PHP hiện tại
Kế tiếp. Các phép toán số học trên các biến ký tự. $d = 'A00'. Sử dụng biến này in các số sau
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
Theo dõi chúng tôi trên Facebook và Twitter để cập nhật thông tin mới nhất.
PHP. Lời khuyên trong ngày
PHP - Sự khác biệt giữa echo, print và print_r trong PHP là gì?
bản in và tiếng vang ít nhiều giống nhau; . Sự khác biệt là tinh tế. print có giá trị trả về là 1 vì vậy nó có thể được sử dụng trong các biểu thức trong khi echo có kiểu trả về là void;
var_dump in ra một kết xuất chi tiết của một biến, bao gồm loại của nó và loại của bất kỳ mục con nào (nếu đó là một mảng hoặc một đối tượng). print_r in một biến ở dạng dễ đọc hơn. chuỗi không được trích dẫn, loại thông tin bị bỏ qua, kích thước mảng không được cung cấp, v.v.
Theo kinh nghiệm của tôi, var_dump thường hữu ích hơn print_r khi gỡ lỗi. Nó đặc biệt hữu ích khi bạn không biết chính xác bạn có những giá trị/loại nào trong các biến của mình. Hãy xem xét chương trình thử nghiệm này
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng hàm sleep hoặc usleep trong PHP để tạm dừng tập lệnh
Khi viết các tập lệnh PHP của bạn, có thể đôi khi bạn cảm thấy muốn tạm dừng/ngủ tập lệnh
Tạm dừng thực thi tập lệnh rất hữu ích trong các tình huống khác nhau. Một ví dụ về cách sử dụng là khi thực hiện một số lượng lớn các yêu cầu mạng, bạn có thể muốn ngủ tập lệnh PHP của mình để ngăn nó tràn vào mạng
Bạn cũng có thể sử dụng nó để ngăn tập lệnh tiêu thụ một lượng tài nguyên CPU bất thường. Sử dụng chức năng ngủ giữa các tác vụ có thể ngăn những tác vụ hoàn thành nhanh nhanh chóng áp đảo CPU
Hai cách chính mà bạn có thể ngủ tập lệnh trong PHP là sử dụng “sleep()” hoặc “usleep()“. Trong các phần sau, chúng tôi sẽ đề cập đến cả hai
Một lời giải thích nhanh giữa những điều này là chức năng “sleep()” hoạt động trong vài giây và “usleep()” hoạt động trong micro giây
Hàm PHP ngủ ()
Sử dụng chức năng ngủ của PHP, có thể tạm dừng việc thực thi tập lệnh trong một số giây được chỉ định
Hàm chỉ nhận một tham số duy nhất có tên là “<?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>0“, trong đó bạn đặt thời gian ngủ tính bằng giây
Dưới đây bạn có thể xem định nghĩa cho hàm sleep() trong PHP. Bạn có thể thấy tham số của nó được lấy dưới dạng số nguyên và nó trả về một số nguyên
sleep(int $seconds): intHàm sleep() sẽ trả về 0 (<?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>2) khi nó ngủ thành công. Tuy nhiên, nếu ngủ tập lệnh không thành công, nó sẽ trả về giá trị Boolean <?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>3
Vì hàm này có thể trả về <?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>2 hoặc <?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>3, hãy đảm bảo bạn sử dụng (<?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>6) khi kiểm tra giá trị trả về. Mặt khác, kiểu tung hứng của PHP sẽ coi 0 và false là giống nhau
Xin lưu ý rằng giây không thể là một phần của giây. Nếu bạn cần một phần giây, hãy sử dụng hàm <?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>7
Ví dụ sử dụng hàm sleep() trong PHP
Bây giờ chúng ta đã biết cú pháp của hàm sleep(), hãy viết một đoạn script PHP nhanh để bạn có thể thấy nó hoạt động như thế nào
Chúng tôi sẽ sử dụng hàm echo của PHP để in thời gian hiện tại cho ví dụ này. Chúng ta có thể truy xuất thời gian hiện tại nhờ hàm <?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>8. Sử dụng tùy chọn “<?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>9” sẽ nhận được giờ, phút và giây hiện tại
Chúng tôi bắt đầu bằng cách in chuỗi “Time before sleep: 10:17:54 Time after sleep: 10:17:590“, nối thời gian hiện tại và cuối cùng, ký tự dòng mới (Time before sleep: 10:17:54 Time after sleep: 10:17:591)
Sau đó, chúng tôi sử dụng hàm sleep() của PHP để sử dụng, đặt tham số duy nhất của nó thành “Time before sleep: 10:17:54 Time after sleep: 10:17:593” để ngủ tập lệnh trong 5 giây
Cuối cùng, để cho bạn thấy tập lệnh đã ngủ, chúng tôi in văn bản “Time before sleep: 10:17:54 Time after sleep: 10:17:594“, nối thời gian hiện tại
<?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>Sau khi chạy tập lệnh này, bạn sẽ thấy kết quả tương tự như những gì chúng tôi đã hiển thị bên dưới
Với sự khác biệt về thời gian, bạn có thể thấy chức năng ngủ đã tạm dừng việc thực thi tập lệnh như thế nào
Time before sleep: 10:17:54 Time after sleep: 10:17:59Hàm usleep() trong PHP
Nếu bạn cần tạm dừng việc thực thi tập lệnh PHP của mình trong thời gian ngắn hơn một giây, bạn sẽ cần sử dụng hàm usleep()
Với chức năng này, bạn có thể chỉ định số micro giây mà bạn muốn tập lệnh ở chế độ ngủ. Một micro giây là một phần triệu giây
Ví dụ: nếu bạn muốn ngủ tập lệnh PHP của mình trong một phần tư giây (Time before sleep: 10:17:54 Time after sleep: 10:17:595), bạn sẽ sử dụng giá trị Time before sleep: 10:17:54 Time after sleep: 10:17:596
Dưới đây, bạn có thể xem định nghĩa cho hàm usleep() trong PHP. Nó có một tham số duy nhất phải luôn là số nguyên và nó trả về một số nguyên
usleep(int $microseconds):intGiống như chức năng ngủ, <?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>7 sẽ trả về <?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>2 khi nó ngủ thành công. Tuy nhiên, nếu hàm không chuyển sang chế độ ngủ trong suốt thời gian đó, nó sẽ trả về <?php echo "Time before sleep: " . date('h:i:s') . "\n"; sleep(5); echo "Time after sleep: " . date('h:i:s'); ?>3
Xin lưu ý rằng việc sử dụng thời gian ngủ ngắn dài hơn “usleep(int $microseconds):int0” (1 giây) có thể không được hệ thống máy chủ hỗ trợ
Ví dụ về việc sử dụng hàm usleep()
Đối với ví dụ này, chúng tôi sẽ sử dụng hàm usleep() của PHP để ngủ tập lệnh của chúng tôi trong 250000 micro giây (một phần tư giây)
Chúng tôi sẽ cần sử dụng thời gian được cung cấp bởi chức năng “usleep(int $microseconds):int1” để theo dõi điều này. Điều này cung cấp cho chúng tôi dấu thời gian Unix hiện tại tính bằng micro giây
Bắt đầu tập lệnh bằng cách lấy thời gian vi mô hiện tại và lưu trữ nó trong biến “usleep(int $microseconds):int2”
Sau đó, chúng ta có thể sử dụng hàm usleep(), chuyển vào Time before sleep: 10:17:54 Time after sleep: 10:17:596 để ngủ tập lệnh trong khoảng thời gian Time before sleep: 10:17:54 Time after sleep: 10:17:596 micro giây
Sau khi ngủ, chúng tôi nhận lại thời gian vi mô và lưu trữ nó trong biến “_______20_______6”
Sau đó, chúng tôi tính toán tổng thời gian thực hiện bằng cách trừ thời gian bắt đầu từ thời gian kết thúc và lưu trữ nó trong biến “usleep(int $microseconds):int7”
Cuối cùng, chúng tôi sử dụng hàm echo để xuất tập lệnh mất bao lâu để chạy. Điều này sẽ cho chúng tôi thấy tập lệnh của chúng tôi ngủ như thế nào trong khi thực thi
<?php $start_time = microtime(true); usleep(250000); $end_time = microtime(true); $time = $end_time - $start_time; echo $time; ?>Dưới đây là một ví dụ về những gì PHP sẽ in sau khi chạy ví dụ trên
Bạn sẽ nhận thấy rằng thời gian trả về không chính xác là thời gian ngủ vì các chức năng không hoàn thành ngay lập tức
0.25010299682617Phần kết luận
Xuyên suốt hướng dẫn này, chúng tôi đã chỉ cho bạn hai cách để bạn có thể tạm dừng việc thực thi tập lệnh PHP của mình
Hai chức năng chúng tôi khám phá trong hướng dẫn này là các chức năng sleep() của PHP, và usleep(). Cả hai đều có cách sử dụng cụ thể nhưng sẽ tạm dừng việc thực thi tập lệnh