Làm cách nào để thêm thời gian ngủ trong PHP?

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

sleep(seconds)

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

sleep(25);

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ơ đồ

Làm cách nào để thêm thời gian ngủ trong PHP?

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 FacebookTwitter để 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

Làm cách nào để thêm thời gian ngủ trong PHP?

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): int

Hà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:59
0“, 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:59
1)

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:59
3” để 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:59
4“, 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:59

Hà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:59
5), bạn sẽ sử dụng giá trị
Time before sleep: 10:17:54 
Time after sleep: 10:17:59
6

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):int

Giố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):int
0” (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):int
1” để 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):int
2”

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:59
6 để ngủ tập lệnh trong khoảng thời gian
Time before sleep: 10:17:54 
Time after sleep: 10:17:59
6 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):int
7”

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.25010299682617

Phầ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

Làm cách nào để thêm độ trễ trong mã PHP?

Hàm sleep() trì hoãn việc thực thi tập lệnh hiện tại trong một số giây đã chỉ định.

Làm cách nào để thêm tạm dừng trong PHP?

Nếu bạn cần tạm dừng việc thực thi tập lệnh PHP trong thời gian ngắn hơn một giây, bạn cần phải sử dụng hàm usleep(). With this function, you can specify the number of microseconds you want the script to sleep.

Làm cách nào để đợi 5 giây trước khi thực hiện một hành động trong PHP?

Ví dụ-1. Sử dụng usleep() để đợi 5 giây . 5 giây bằng 5000000 micro giây. Vì vậy, 5000000 được sử dụng làm giá trị đối số usleep() để đặt độ trễ trong 5 giây. usleep() function is called after executing the first date() function. 5 seconds is equal to 5000000 microseconds. So, 5000000 is used as the usleep() argument value to set the delay for 5 seconds.

Làm cách nào để trì hoãn tiếng vang trong PHP?

Đây là các bước cơ bản. .
Lưu dấu thời gian của yêu cầu ban đầu trên máy chủ cùng với thông tin của máy khách (e. g. trong cookie phiên)
Sau đó, không gửi chuỗi $ ngay từ máy chủ, chỉ cần để trống
Với JS, trì hoãn 30 giây trước khi hỏi lại máy chủ (e. g. thông qua AJAX) cho chuỗi $