الفرق بين المراجعتين ل"PHP/control structures alternative syntax"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - 'PHP/Control Structures/for' ب'PHP/for')
ط (استبدال النص - 'PHP/Control Structures/if' ب'PHP/if')
سطر 2: سطر 2:
 
(PHP 4, PHP 5, PHP 7)
 
(PHP 4, PHP 5, PHP 7)
  
تقدّم PHP صيغة مختلفة لبعض بنى التحكّم المتوفّرة فيها، وهي <code>[[PHP/Control Structures/if|if]]</code> و <code>[[PHP/Control Structures/while|while]]</code> و <code>[[PHP/for|for]]</code> و <code>[[PHP/foreach|foreach]]</code> و <code>[[PHP/Control Structures/switch|switch]]</code>. وفي جميع الأحوال يمكن استخدام الصيغة البديلة بوضع نقطتين رأسيتين (<code>:</code>) بدلًا من القوس المعقوف في بداية العبارة ووضع العبارة <code>endif;</code>‎ أو <code>endwhile;</code>‎ أو <code>endfor;</code>‎ أو<code>endforeach;</code> ‎ أو <code>endswitch;</code>‎ في النهاية حسب الحاجة.
+
تقدّم PHP صيغة مختلفة لبعض بنى التحكّم المتوفّرة فيها، وهي <code>[[PHP/if|if]]</code> و <code>[[PHP/Control Structures/while|while]]</code> و <code>[[PHP/for|for]]</code> و <code>[[PHP/foreach|foreach]]</code> و <code>[[PHP/Control Structures/switch|switch]]</code>. وفي جميع الأحوال يمكن استخدام الصيغة البديلة بوضع نقطتين رأسيتين (<code>:</code>) بدلًا من القوس المعقوف في بداية العبارة ووضع العبارة <code>endif;</code>‎ أو <code>endwhile;</code>‎ أو <code>endfor;</code>‎ أو<code>endforeach;</code> ‎ أو <code>endswitch;</code>‎ في النهاية حسب الحاجة.
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
  
سطر 12: سطر 12:
 
في المثال السابق أُدخلِت كتلة HTML والتي تتضمن الجملة "A is equal to 5" في عبارة if مكتوبة بالصيغة البديلة، ولا تعرض كتلة HTML هذه إلا إذا كانت قيمة المتغير ‎<code>$a</code> مساوية للقيمة 5.
 
في المثال السابق أُدخلِت كتلة HTML والتي تتضمن الجملة "A is equal to 5" في عبارة if مكتوبة بالصيغة البديلة، ولا تعرض كتلة HTML هذه إلا إذا كانت قيمة المتغير ‎<code>$a</code> مساوية للقيمة 5.
  
تنطبق الصيغة البديلة على <code>[[PHP/else|else]]</code> و <code>[[PHP/elseif|elseif]]</code> أيضًا. فيما يلي بنية <code>[[PHP/Control Structures/if|if]]</code> إضافةً إلى <code>[[PHP/elseif|elseif]]</code> و <code>[[PHP/else|else]]</code> وباستخدام الصيغة البديلة:
+
تنطبق الصيغة البديلة على <code>[[PHP/else|else]]</code> و <code>[[PHP/elseif|elseif]]</code> أيضًا. فيما يلي بنية <code>[[PHP/if|if]]</code> إضافةً إلى <code>[[PHP/elseif|elseif]]</code> و <code>[[PHP/else|else]]</code> وباستخدام الصيغة البديلة:
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
  
سطر 48: سطر 48:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
راجع أيضًا <code>[[PHP/Control Structures/while|while]]</code> و <code>[[PHP/for|for]]</code> و <code>[[PHP/Control Structures/if|if]]</code> للمزيد من الأمثلة.
+
راجع أيضًا <code>[[PHP/Control Structures/while|while]]</code> و <code>[[PHP/for|for]]</code> و <code>[[PHP/if|if]]</code> للمزيد من الأمثلة.
  
 
== مصادر ==
 
== مصادر ==

مراجعة 03:30، 4 أبريل 2018

(PHP 4, PHP 5, PHP 7)

تقدّم PHP صيغة مختلفة لبعض بنى التحكّم المتوفّرة فيها، وهي if و while و for و foreach و switch. وفي جميع الأحوال يمكن استخدام الصيغة البديلة بوضع نقطتين رأسيتين (:) بدلًا من القوس المعقوف في بداية العبارة ووضع العبارة endif;‎ أو endwhile;‎ أو endfor;‎ أوendforeach; ‎ أو endswitch;‎ في النهاية حسب الحاجة.

<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>

في المثال السابق أُدخلِت كتلة HTML والتي تتضمن الجملة "A is equal to 5" في عبارة if مكتوبة بالصيغة البديلة، ولا تعرض كتلة HTML هذه إلا إذا كانت قيمة المتغير ‎$a مساوية للقيمة 5.

تنطبق الصيغة البديلة على else و elseif أيضًا. فيما يلي بنية if إضافةً إلى elseif و else وباستخدام الصيغة البديلة:

<?php
if ($a == 5):
    echo "a equals 5";
    echo "...";
elseif ($a == 6):
    echo "a equals 6";
    echo "!!!";
else:
    echo "a is neither 5 nor 6";
endif;
?>

ملاحظة: لا تدعم اللغة المزج بين الصيغتين في بنية واحدة.

تحذير: يؤدي وجود أي مخرجات (حتى الفواصل البيضاء) بين عبارة switch وبين عبارة case الأولى إلى حدوث خطأ في الصيغة (syntax error). فعلى سبيل المثال الشيفرة التالية غير صالحة:

<?php switch ($foo): ?>
    <?php case 1: ?>
    ...
<?php endswitch ?>

في حين أن الشيفرة التالية تعدّ صالحةً، إذ تعدّ المسافة البيضاء التي كانت بعد عبارة switch جزءًا من علامة الإغلاق <?، وبعد حذفها لن يكون هناك أي مخرجات بين عبارتي switch و case:

<?php switch ($foo): ?>
<?php case 1: ?>
    ...
<?php endswitch ?>

راجع أيضًا while و for و if للمزيد من الأمثلة.

مصادر