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

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
(تعديلات طفيفة على التنسيق)
 
(مراجعة متوسطة واحدة بواسطة نفس المستخدم غير معروضة)
سطر 2: سطر 2:
 
(PHP 5, PHP 7)
 
(PHP 5, PHP 7)
  
تُأَخِّرُ الدالةُ time_nanosleep()‎ تنفيذَ البرنامج عددًا من الثواني والنانوثانية.
+
تُأَخِّرُ الدالةُ <code>time_nanosleep()</code>‎ تنفيذَ البرنامج عددًا من الثواني والنانوثانية.
  
 
== الوصف ==
 
== الوصف ==
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
 
mixed time_nanosleep ( int $seconds , int $nanoseconds )
 
mixed time_nanosleep ( int $seconds , int $nanoseconds )
</syntaxhighlight>تُأَخِّرُ الدالةُ time_nanosleep()‎ تنفيذَ البرنامج بتحديد المعاملين seconds و nanoseconds.
+
</syntaxhighlight>تُأَخِّرُ الدالةُ <code>time_nanosleep()‎</code> تنفيذَ البرنامج بتحديد المعاملين <code>seconds</code> و <code>nanoseconds</code>.
  
 
== المعاملات ==
 
== المعاملات ==
  
=== seconds ===
+
=== <code>seconds</code> ===
 
يجب أن يكون عددًا صحيحًا غير سالب.
 
يجب أن يكون عددًا صحيحًا غير سالب.
  
=== nanoseconds ===
+
=== <code>nanoseconds</code> ===
 
يجب أن يكون عددًا صحيحًا غير سالب أقل من مليار.
 
يجب أن يكون عددًا صحيحًا غير سالب أقل من مليار.
  
 
== القيم المعادة ==
 
== القيم المعادة ==
تعيد الدالة time_nanosleep()‎ القيمة TRUE عند نجاح تنفيذها، أو القيمة FALSE عند حدوث خطأ.
+
تعيد الدالة <code>time_nanosleep()‎</code> القيمة <code>TRUE</code> عند نجاح تنفيذها، أو القيمة <code>FALSE</code> عند حدوث خطأ.
  
إذا قوطع التأخير بإرسال النظام لإشارة من إشارات المقاطعة، فستعيد الدالة time_nanosleep()‎ مصفوفةً ترابطيةً فيها المكونات الآتية:
+
إذا قوطع التأخير بإرسال النظام لإشارة من إشارات المقاطعة، فستعيد الدالة <code>time_nanosleep()‎</code> مصفوفةً ترابطيةً فيها المكونات الآتية:
* seconds: عدد الثواني المتبقية في التأخير.
+
* <code>seconds</code>: عدد الثواني المتبقية في التأخير.
* nanoseconds: عدد النانوثانية المتبقية في التأخير.
+
* <code>nanoseconds</code>: عدد النانوثانية المتبقية في التأخير.
  
 
== سجل التغييرات ==
 
== سجل التغييرات ==
 
{| class="wikitable"
 
{| class="wikitable"
|الإصدار
+
!الإصدار
|الوصف
+
!الوصف
 
|-
 
|-
 
|5.3.0
 
|5.3.0
|صارتْ الدالةُ time_nanosleep()‎ الآن مُتاحةً على منصات ويندوز.
+
|صارتْ الدالةُ <code>time_nanosleep()‎</code> الآن مُتاحةً على منصات ويندوز.
 
|}
 
|}
  
 
== أمثلة ==
 
== أمثلة ==
المثال 1: مثال على الدالة time_nanosleep()‎<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.";
 
 
 
 
}
 
}
 
 
?>
 
?>
  
سطر 83: سطر 62:
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* الدالة sleep()‎: تأخير التنفيذ.
+
* الدالة <code>[[PHP/sleep|sleep()]]</code>‎: تأخير التنفيذ.
* الدالة usleep()‎: تأخير التنفيذ مدةً تُقدر بالميكروثانية.
+
* الدالة <code>[[PHP/usleep|usleep()‎]]</code>: تأخير التنفيذ مدةً تُقدر بالميكروثانية.
* الدالة time_sleep_until()‎: تأخير البرنامج حتى الوقت المحدد.
+
* الدالة <code>[[PHP/time sleep until|time_sleep_until()]]</code>‎: تأخير البرنامج حتى الوقت المحدد.
* الدالة set_time_limit()‎: تحديد الحد الأقصى لوقت التنفيذ.
+
* الدالة <code>[[PHP/set time limit|set_time_limit()‎]]</code>: تحديد الحد الأقصى لوقت التنفيذ.
  
 
== مصادر ==
 
== مصادر ==

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

مصادر