الفرق بين المراجعتين لصفحة: «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()‎: تحديد الحد الأقصى لوقت التنفيذ.

مصادر