الفرق بين المراجعتين ل"PHP/time nanosleep"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
(إضافات و تعديلات تنسيقية)
(تعديلات طفيفة على التنسيق)
 
سطر 26: سطر 26:
 
== سجل التغييرات ==
 
== سجل التغييرات ==
 
{| class="wikitable"
 
{| class="wikitable"
|الإصدار
+
!الإصدار
|الوصف
+
!الوصف
 
|-
 
|-
 
|5.3.0
 
|5.3.0
سطر 36: سطر 36:
 
المثال 1: مثال على الدالة <code>time_nanosleep()</code>‎<syntaxhighlight lang="php">
 
المثال 1: مثال على الدالة <code>time_nanosleep()</code>‎<syntaxhighlight lang="php">
 
<?php
 
<?php
 
 
// احذر! لن يعمل هذا كما هو متوقع إذا أُعِيْدَتْ مصفوفة
 
// احذر! لن يعمل هذا كما هو متوقع إذا أُعِيْدَتْ مصفوفة
 
 
if (time_nanosleep(0, 500000000)) {
 
if (time_nanosleep(0, 500000000)) {
 
 
   echo "Slept for half a second.\n";
 
   echo "Slept for half a second.\n";
 
 
}
 
}
 
 
// هذا أفضل
 
// هذا أفضل
 
 
if (time_nanosleep(0, 500000000) === true) {
 
if (time_nanosleep(0, 500000000) === true) {
 
 
   echo "Slept for half a second.\n";
 
   echo "Slept for half a second.\n";
 
 
}
 
}
 
 
// وهذا هو الأفضل
 
// وهذا هو الأفضل
 
 
$nano = time_nanosleep(2, 100000);
 
$nano = time_nanosleep(2, 100000);
 
 
if ($nano === true) {
 
if ($nano === true) {
 
 
   echo "Slept for 2 seconds, 100 microseconds.\n";
 
   echo "Slept for 2 seconds, 100 microseconds.\n";
 
 
} elseif ($nano === false) {
 
} elseif ($nano === false) {
 
+
  echo "Sleeping failed.\n";
   echo "Sleeping failed.\n";
 
 
 
 
} elseif (is_array($nano)) {
 
} elseif (is_array($nano)) {
 
+
  $seconds = $nano['seconds'];
   $seconds = $nano['seconds'];
+
 $nanoseconds = $nano['nanoseconds'];
 
+
 echo "Interrupted by a signal.\n";
   $nanoseconds = $nano['nanoseconds'];
+
 echo "Time remaining: $seconds seconds, $nanoseconds nanoseconds.";
 
 
   echo "Interrupted by a signal.\n";
 
 
 
   echo "Time remaining: $seconds seconds, $nanoseconds nanoseconds.";
 
 
 
 
}
 
}
 
 
?>
 
?>
  

المراجعة الحالية بتاريخ 15:55، 29 مايو 2018

(PHP 5, PHP 7)

تُأَخِّرُ الدالةُ time_nanosleep()‎ تنفيذَ البرنامج عددًا من الثواني والنانوثانية.

الوصف

mixed time_nanosleep ( int $seconds , int $nanoseconds )

تُأَخِّرُ الدالةُ time_nanosleep()‎ تنفيذَ البرنامج بتحديد المعاملين seconds و nanoseconds.

المعاملات

seconds

يجب أن يكون عددًا صحيحًا غير سالب.

nanoseconds

يجب أن يكون عددًا صحيحًا غير سالب أقل من مليار.

القيم المعادة

تعيد الدالة time_nanosleep()‎ القيمة TRUE عند نجاح تنفيذها، أو القيمة FALSE عند حدوث خطأ.

إذا قوطع التأخير بإرسال النظام لإشارة من إشارات المقاطعة، فستعيد الدالة time_nanosleep()‎ مصفوفةً ترابطيةً فيها المكونات الآتية:

  • seconds: عدد الثواني المتبقية في التأخير.
  • nanoseconds: عدد النانوثانية المتبقية في التأخير.

سجل التغييرات

الإصدار الوصف
5.3.0 صارتْ الدالةُ time_nanosleep()‎ الآن مُتاحةً على منصات ويندوز.

أمثلة

المثال 1: مثال على الدالة time_nanosleep()

<?php
// احذر! لن يعمل هذا كما هو متوقع إذا أُعِيْدَتْ مصفوفة
if (time_nanosleep(0, 500000000)) {
   echo "Slept for half a second.\n";
}
// هذا أفضل
if (time_nanosleep(0, 500000000) === true) {
   echo "Slept for half a second.\n";
}
// وهذا هو الأفضل
$nano = time_nanosleep(2, 100000);
if ($nano === true) {
   echo "Slept for 2 seconds, 100 microseconds.\n";
} elseif ($nano === false) {
  echo "Sleeping failed.\n";
} elseif (is_array($nano)) {
  $seconds = $nano['seconds'];
  $nanoseconds = $nano['nanoseconds'];
  echo "Interrupted by a signal.\n";
  echo "Time remaining: $seconds seconds, $nanoseconds nanoseconds.";
}
?>

انظر أيضًا

  • الدالة sleep()‎: تأخير التنفيذ.
  • الدالة usleep()‎: تأخير التنفيذ مدةً تُقدر بالميكروثانية.
  • الدالة time_sleep_until()‎: تأخير البرنامج حتى الوقت المحدد.
  • الدالة set_time_limit()‎: تحديد الحد الأقصى لوقت التنفيذ.

مصادر