الفرق بين المراجعتين لصفحة: «PHP/control structures alternative syntax»
ط استبدال النص - 'PHP/Control Structures/if' ب'PHP/if' |
رؤيا-بنعطية (نقاش | مساهمات) تعديلات طفيفة |
||
(3 مراجعات متوسطة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 2: | سطر 2: | ||
(PHP 4, PHP 5, PHP 7) | (PHP 4, PHP 5, PHP 7) | ||
تقدّم PHP صيغة مختلفة لبعض بنى التحكّم المتوفّرة فيها، وهي <code>[[PHP/if|if]]</code> و <code>[[PHP | تقدّم PHP صيغة مختلفة لبعض بنى التحكّم المتوفّرة فيها، وهي <code>[[PHP/if|if]]</code> و <code>[[PHP/while|while]]</code> و <code>[[PHP/for|for]]</code> و <code>[[PHP/foreach|foreach]]</code> و <code>[[PHP/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/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"> | ||
سطر 30: | سطر 30: | ||
ملاحظة: لا تدعم اللغة المزج بين الصيغتين في بنية واحدة. | ملاحظة: لا تدعم اللغة المزج بين الصيغتين في بنية واحدة. | ||
تحذير: يؤدي وجود أي مخرجات (حتى الفواصل البيضاء) بين عبارة <code>[[PHP | تحذير: يؤدي وجود أي مخرجات (حتى الفواصل البيضاء) بين عبارة <code>[[PHP/switch|switch]]</code> وبين عبارة <code>case</code> الأولى إلى حدوث خطأ في الصيغة (syntax error). فعلى سبيل المثال الشيفرة التالية غير صالحة: | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
سطر 39: | سطر 39: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
في حين أن الشيفرة التالية تعدّ صالحةً، إذ تعدّ المسافة البيضاء التي كانت بعد عبارة <code>[[PHP | في حين أن الشيفرة التالية تعدّ صالحةً، إذ تعدّ المسافة البيضاء التي كانت بعد عبارة <code>[[PHP/switch|switch]]</code> جزءًا من علامة الإغلاق <code><?</code>، وبعد حذفها لن يكون هناك أي مخرجات بين عبارتي <code>switch</code> و <code>case</code>: | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
سطر 48: | سطر 48: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== انظر أيضًا == | |||
* بنية <code>[[PHP/while|while]]</code> : تنفيذ دورات تكراريّة. | |||
* بنية <code>[[PHP/for|for]]</code> : تنفيذ دورات تكراريّة. | |||
* بنية <code>[[PHP/if|if]]</code> : تنفيذ أجزاء من الشيفرة اعتمادًا على شروط معينة. | |||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 00:28، 7 يونيو 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
: تنفيذ أجزاء من الشيفرة اعتمادًا على شروط معينة.