في البداية نستطيع حساب المضروب بالشكل التالي:
4! = 4*3*2*1 = 24
6! = 6*5*4*3*2*1 = 720
وهذه هي الشيفرة التي تؤمن ذلك:
<?php
$num = 4;
$factorial = 1;
for ($x=$num; $x>=1; $x--)
{
$factorial = $factorial * $x;
}
echo "Factorial of $num is $factorial";
?>
لو أردنا أن نضع شرطًا كما ذكرت أنت، انه عندما يكون العدد 0 أو أكبر من 21 نكتب:
if ($num == 0 || $num > 21)
نستطيع دمجها مع الشيفرة السابقة كالتالي ومن دون استخدام break فنقول:
<?php
$num = 4;
$factorial = 1;
if ($num == 0 || $num >20) { // إذا كان العدد 0 أو أكبر من 20 اطبع خطأ فقط
echo "Error"
}
else { // وإلا سيدخل إلى حلقة الفور وسيحسب المضروب للعدد 4 كما حددنا له في الأعلى
for ($x=$num; $x>=1; $x--)
{
$factorial = $factorial * $x;
}
echo "Factorial of $num is $factorial";
}
?>
جرب أن تغير المتغير num إلى 0 أو إلى عدد أكبر من 20 ستجد أنه سيطبع Error
إذا أردت مثالًا عن break تفضل:
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
break;
}
echo "The number is: $x <br>";
}
?>
هنا المتغير x سيبدأ من 0 ومع كل دورة سيزداد 1 وعندما تُصبح قيمته 4 ستتوقف الحلقة عن العمل لأننا استخدمنا break أي لن يُكمل إلى 5 و 6 و 7 و 8 و 9