الفرق بين المراجعتين لصفحة: «PHP/do-while»

من موسوعة حسوب
< PHP
لا ملخص تعديل
 
تعديلات طفيفة
 
(5 مراجعات متوسطة بواسطة مستخدم واحد آخر غير معروضة)
سطر 2: سطر 2:
(PHP 4, PHP 5, PHP 7)
(PHP 4, PHP 5, PHP 7)


حلقات <code>do-while</code> مشابهة جدًّا لحلقات <code>[[PHP/Control Structures/while|while]]</code>، باستثناء أنّها عملية التحقق من الشرط تحدث في نهاية الدورة بدلًا من بدايتها. ما يميز هذه الحلقات عن حلقات while هو أنّ الدورة الأولى في حلقات <code>do-while</code> ستنفّذ في جميع الأحوال (تحدث عملية التحقق في نهاية الدورة فقط) في حين أن الدورة الأولى في حلقات <code>[[PHP/Control Structures/while|while]]</code> قد لا تنفّذ بالضرورة (تحدث عملية التحقق في بداية كل دورة، وإن كانت النتيجة FALSE منذ البداية تتوقف الحلقة عن العمل مباشرة).
حلقات <code>do-while</code> مشابهة جدًّا لحلقات <code>[[PHP/while|while]]</code>، باستثناء أنّها عملية التحقق من الشرط تحدث في نهاية الدورة بدلًا من بدايتها. ما يميز هذه الحلقات عن حلقات <code>[[PHP/while|while]]</code> هو أنّ الدورة الأولى في حلقات <code>do-while</code> ستنفّذ في جميع الأحوال (تحدث عملية التحقق في نهاية الدورة فقط) في حين أن الدورة الأولى في حلقات <code>[[PHP/while|while]]</code> قد لا تنفّذ بالضرورة (تحدث عملية التحقق في بداية كل دورة، وإن كانت النتيجة FALSE منذ البداية تتوقف الحلقة عن العمل مباشرة).


هناك صيغة واحدة لحلقات <code>do-while</code> وهي:
هناك صيغة واحدة لحلقات <code>do-while</code> وهي:
سطر 17: سطر 17:
ستعمل الحلقة التكرارية السابقة مرة واحدة فقط، إذ تصبح نتيجة التحقق من صحة التعبير هي FALSE (إذ لا تكون ‎$i‎‎ أكبر من 0) ويتوقف تنفيذ الحلقة تمامًا.
ستعمل الحلقة التكرارية السابقة مرة واحدة فقط، إذ تصبح نتيجة التحقق من صحة التعبير هي FALSE (إذ لا تكون ‎$i‎‎ أكبر من 0) ويتوقف تنفيذ الحلقة تمامًا.


هناك طريقة أخرى لاستخدام حلقات <code>do-while</code> قد تكون مألوفة لدى المبرمجين الخبراء في لغة C، والهدف منها هو إيقاف التنفيذ في منتصف الشيفرة وذلك بإحاطتها بعبارة <code>do-while (0)</code>‎‎، واستخدام عبارة <code>[[PHP/Control Structures/break|break]]</code>. توضّح الشيفرة التالية هذه الطريقة:
هناك طريقة أخرى لاستخدام حلقات <code>do-while</code> قد تكون مألوفة لدى المبرمجين الخبراء في لغة C، والهدف منها هو إيقاف التنفيذ في منتصف الشيفرة وذلك بإحاطتها بعبارة <code>do-while (0)</code>‎‎، واستخدام عبارة <code>[[PHP/break|break]]</code>. توضّح الشيفرة التالية هذه الطريقة:
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">


سطر 38: سطر 38:
</syntaxhighlight>
</syntaxhighlight>


إن لم تتمكن من فهم الشيفرة السابقة فلا تقلق، إذ يمكنك كتابة شيفرات قوية دون الحاجة إلى استخدام هذه الخاصية، إذ يمكن ومنذ الإصدار 5.3.0 من PHP استخدام العامل <code>[[PHP/Control Structures/goto|goto]]</code> بدلًا من هذه الطريقة.
إن لم تتمكن من فهم الشيفرة السابقة فلا تقلق، إذ يمكنك كتابة شيفرات قوية دون الحاجة إلى استخدام هذه الخاصية، إذ يمكن ومنذ الإصدار 5.3.0 من PHP استخدام العامل <code>[[PHP/goto|goto]]</code> بدلًا من هذه الطريقة.


== مصادر ==
== مصادر ==
* [http://php.net/manual/en/control-structures.do.while.php صفحة do-while في توثيق PHP الرسمي.]
* [http://php.net/manual/en/control-structures.do.while.php صفحة do-while في توثيق PHP الرسمي.]
[[تصنيف:PHP]]
[[تصنيف:PHP|{{SUBPAGENAME}}]]
[[تصنيف:PHP Control Structures]]
[[تصنيف:PHP Control Structures|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 16:28، 7 يونيو 2018

(PHP 4, PHP 5, PHP 7)

حلقات do-while مشابهة جدًّا لحلقات while، باستثناء أنّها عملية التحقق من الشرط تحدث في نهاية الدورة بدلًا من بدايتها. ما يميز هذه الحلقات عن حلقات while هو أنّ الدورة الأولى في حلقات do-while ستنفّذ في جميع الأحوال (تحدث عملية التحقق في نهاية الدورة فقط) في حين أن الدورة الأولى في حلقات while قد لا تنفّذ بالضرورة (تحدث عملية التحقق في بداية كل دورة، وإن كانت النتيجة FALSE منذ البداية تتوقف الحلقة عن العمل مباشرة).

هناك صيغة واحدة لحلقات do-while وهي:

<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);
?>

ستعمل الحلقة التكرارية السابقة مرة واحدة فقط، إذ تصبح نتيجة التحقق من صحة التعبير هي FALSE (إذ لا تكون ‎$i‎‎ أكبر من 0) ويتوقف تنفيذ الحلقة تمامًا.

هناك طريقة أخرى لاستخدام حلقات do-while قد تكون مألوفة لدى المبرمجين الخبراء في لغة C، والهدف منها هو إيقاف التنفيذ في منتصف الشيفرة وذلك بإحاطتها بعبارة do-while (0)‎‎، واستخدام عبارة break. توضّح الشيفرة التالية هذه الطريقة:

<?php
do {
    if ($i < 5) {
        echo "i is not big enough";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "i is ok";

    /* process i */

} while (0);
?>

إن لم تتمكن من فهم الشيفرة السابقة فلا تقلق، إذ يمكنك كتابة شيفرات قوية دون الحاجة إلى استخدام هذه الخاصية، إذ يمكن ومنذ الإصدار 5.3.0 من PHP استخدام العامل goto بدلًا من هذه الطريقة.

مصادر