أجهزة الكمبيوتر شبابيك إنترنت

إذا كان بناء الجملة. العوامل الشرطية. نص التحية حسب الوقت من اليوم

تقول بعض المصادر أن عبارة select إذا كانت عبارة أخرى عامل مستقل... لكنها ليست كذلك ، إذا كانت عبارة أخرى مجرد تدوين لبيان إذا كان الاختيار. تسمح تعليمة if else للمبرمج بتعريف إجراء عندما يكون الشرط صحيحًا وإجراء بديل عندما يكون الشرط خاطئًا. في حين أنه إذا سمح بتعريف إجراء في ظل حالة حقيقية.

صيغة كتابة جملة select if else هي:

إذا (/ * تم التحقق من الحالة * /) (/ * نص عامل الاختيار 1 * / ؛) وإلا (/ * نص عامل الاختيار 2 * / ؛)

يقرأ على النحو التالي: "إذا كان الشرط الذي تم التحقق منه صحيحًا ، إذن حدد نص البيان 1، وإلا (أي أن الشرط الذي تم التحقق منه غير صحيح) قد تحقق حدد نص البيان 2". لاحظ كيف تتم كتابة بيان if else. تم نقل كلمة "أخرى" عمدًا إلى الحق في كود البرنامجكان مفهومًا وسهل القراءة.

لنلقِ نظرة على المشكلة من الموضوع السابق باستخدام if else. دعني أذكرك بحالة المشكلة: "لقد أعطيت رقمين ، تحتاج إلى المقارنة بينهما."

// if_else.cpp: يحدد نقطة الدخول لتطبيق وحدة التحكم. # تضمين "stdafx.h" # تضمين استخدام اسم للمحطة؛ int main (int argc، char * argv) (int a، b؛ cout<< "Vvedite pervoe chislo: "; cin >> أ ؛ كوت<< "Vvedite vtoroe chislo: "; cin >> ب ؛ إذا (أ> = ب) // إذا كان a أكبر من أو يساوي b ، إذن (cout<< a << " >= " << b << endl; } else // иначе { cout << a << " <= " << b << endl; } system("pause"); return 0; }

في هذا الكود ، نحن مهتمون بهالخطوط 14-20... تتم قراءة هذه السطور على النحو التالي: إذاأ (الرقم الأول) أكبر من أو يساويب (الرقم الثاني) ، ثم نفّذ بيان الإخراج بتنسيقالسطر 16

كوت<< a << " >= " << b << endl;

خلاف ذلك تنفيذ بيان الإخراج في السطر 19

كوت<< a << " <= " << b << endl;

في هذه الحالة ، نستخدم عمليات العلاقة> = و<= . Условие перехода не совсем правильно, так как условие будет ложно только в том случае, если первое число будет меньше второго, во всех остальных случаях условие истинно. Значит, السطر 19يجب أن تكتب هكذا

كوت<< a << " < " << b << endl; // в кавычках записать не меньше или равно, а просто меньше.

وهذه هي الطريقة التي عمل بها البرنامج (انظر الشكل 1).

Vvedite pervoe chislo: 15 Vvedite vtoroe chislo: -4 15> = -4 اضغط على أي مفتاح للمتابعة. ... ...

الشكل 1 - المشغل المختار إذا كان آخر

دعني أوضح لك مثالاً آخر لاستخدام عبارات التحديد if else (ما يسمى بعبارات if else المتداخلة للتحديد المتعدد).

المهمة:
قم بإنشاء خوارزمية تجد قيمة y ، إذا كانت y = x ، من أجل x<0; у=0, при 0<=х<30; у=х 2 , при х>=30;

// inif_else.cpp: يحدد نقطة الدخول لتطبيق وحدة التحكم. # تضمين "stdafx.h" # تضمين استخدام اسم للمحطة؛ int main (int argc، char * argv) (int x، y؛ cout<< "Vvedite x: "; cin >> س ؛ إذا (x< 0) { y = x; // выполняется, если х меньше нуля } else { if ((x >= 0) && (x< 30)) { y = 0; // выполняется, если х больше либо равно нуля и меньше 30 } else { if (x >= 30) (y = x * x ؛ // يتم تنفيذه إذا كان x أكبر من أو يساوي 30))) cout<< "y=" << y << endl; system("pause"); return 0; }

في هذه المشكلة ، هناك ثلاث حالات محتملة:
الحالة الأولى: x< 0 ;
الحالة الثانية: تقع x في النطاق من 0 (بما في ذلك 0) إلى 30 ؛
الحالة الثالثة: x أكبر من أو تساوي 30.

لاحظ الابتكار !! الخامس 17 سطرتدوين مثل هذا: if ((x> = 0) && (x< 30)) , لقد استخدمت الرموز && - هذا. عملية منطقية و&& ضروري لدمج عدة شروط بسيطة في مركب واحد. في حالتنا ، من الضروري التحقق من حقيقة شرطين: الأول - x> = 0 ، والثاني - x< 30 . Все проверяемое условие будет истинно, если истинны два простых условия. В математике правильной записью считается такая запись: 0 <= x < 30 , а в С++ правильной записью считается вот такая запись: (x >= 0) && (x< 30) или такая 0 <= x && x < 30 . Кстати круглые скобочки () && () не обязательны, так как условия простые, но для уверенности, я прописываю, всегда, данные скобочки и вам советую.

تحليل حالة معينة:

لنفترض أن المستخدم أدخل الرقم 31. بدءًا من السطر 12، يتم فحص الشروط. يقرأ مثل هذا: "إذا كان x (31 في حالتنا)< 0, то выполнить оператор в السطر 14". ولكن بما أن 31> 0 الشرط خاطئ ، ننتقل إلى كلمة else (خلاف ذلك) السطر 15... بعد ذلك ، نتحقق مما إذا كان الرقم 31 موجودًا في الفترة الزمنية المحددة. يقرأ مثل هذا: إذا كانت x> = 0 و x<30ثم قم بتنفيذ العبارة في السطر 19 ... ولكن نظرًا لعدم تضمين الرقم 31 في الفترة الزمنية المحددة ، فإن الشرط خاطئ. بالتفصيل السطر 17: سيتحقق البرنامج أولاً من الشرط البسيط الأول x> = 0 - هذا صحيح ، وإذا كان الأول صحيحًا ، فسيستمر البرنامج في التحقق من الشرط البسيط الثاني x< 30 – оно ложно. Следовательно всё составное условие ложно, ведь в составном условии у нас используется логическая операция && , а это значит, что все составное условие истинно только в том случае, когда истинны оба простых условия. Переходим к else (иначе), здесь у нас последний if , (السطر 22). تم إجراء فحص x> = 30. يقرأ مثل هذا: إذا كانت x> = 30 ، فقم بتنفيذ عامل التشغيل في السطر 24 ... أخيرًا ، الشرط صحيح ، لذا فإن العبارة في السطر 24... و السطر 28يطبع القيمة الناتجة. حسنًا ، درس الجميع البرنامج بأدق التفاصيل. نتيجة البرنامج اذا ادخل المستخدم الرقم 31 (انظر الشكل 2)

يرجى تعليق AdBlock على هذا الموقع.

الآن بعد أن اكتشفنا التعبيرات الشرطية ، يمكننا الانتقال إلى الموضوع الرئيسي للدرس - عامل شرطي.

if - قالب بيان آخر

يوجد خياران رئيسيان هنا:

قائمة 1.

// الخيار الأول إذا (التعبير_الشرطي) المشغل_1 ؛ // الخيار الثاني إذا (التعبير_الشرطي) المشغل_1 ؛ عامل آخر_2 ؛

والصور بالطبع. أين يمكن أن نذهب بدون صور؟

الشكل 1: المخططات الكتلية الخاصة بالمشغل if-else.

هذا العامل يعمل مثل هذا. يتم تقييم قيمة التعبير الشرطي. إذا كان هذا صحيحًا ، فسيتم تنفيذ العبارة_1 من الفرع الرئيسي ، وإذا كانت خاطئة ، فلن يحدث أي شيء (في الإصدار الأول) ، أو يتم تنفيذ العبارة_2 من الفرع الجانبي (في الإصدار الثاني).

أقترح أن أفهم الأمثلة على الفور. على سبيل المثال ، ما الذي ستعرضه الشفرة التالية برأيك؟ تحقق من تخمينك.

القائمة 2.

#يشمل int main (void) (if (1) printf ("TRUE! \ n")؛ else printf ("FALSE! \ n")؛ return 0؛)

حسنًا ، نعم ، هذا صحيح ، سيخرج TRUE! ... الشرط صحيح. هل نسيت أن هذا هو الحقيقة؟ سأخبرك بشيء فظيع الآن. أي رقم غير صفري يعتبر صحيحًا. التحقق من ذلك لنفسك.

حسنًا ، هذا مثال الآن. ما رأيك سيعرض هذا البرنامج؟

قائمة 3.

#يشمل int main (void) (if (0) printf ("FALSE! \ n")؛ return 0؛)

أتمنى أن تكون قد أعطيت الإجابة الصحيحة ولم تكن مرتبكًا من السطر مع ناتج FALSE! الذي أضفته عن قصد لإرباكك. نعم ، لن ينتج هذا البرنامج أي شيء. الشرط بين الأقواس خاطئ ، مما يعني أن العبارة لن يتم تنفيذها. كل شيء حسب القواعد.

دعنا نأخذ مثالا آخر لترسيخه. كن حذرًا للغاية ، لقد أعددت الجميع هناك من أجلك. إذن ما الذي سيخرجه هذا الكود؟

القائمة 4.

#يشمل int main (void) (int x = 12؛ if (! (! (x٪ 3 == 0) &&! (x٪ 2 == 0))) printf ("kratno \ n")؛ else printf ("ne kratno \ n ") ؛ إرجاع 0 ؛)

أعتقد أنك نجحت! إذا لم ينجح الأمر ، فلا داعي للقلق - فسيظل هناك وقت للتدريب.

حسنًا ، دعنا نتحدث الآن عن الفروق الدقيقة - فهي متوفرة كالعادة.

يمكن أن يحتوي كل فرع للمشغل الشرطي على عامل تشغيل واحد فقط.

هنا مثال.

قائمة 5.

#يشمل < 0) printf("x = %d\n", x); x = (-1)*x; printf("%d\n", x); return 0; }

يبدو أن البرنامج يجب أن يعمل على هذا النحو. يقوم المستخدم بإدخال عدد صحيح. إذا كان الرقم أقل من الصفر ، فإننا نغير علامته إلى العكس. وإلا فإننا لا نفعل شيئًا. بعد ذلك ، نعرض الرقم على شاشة وحدة التحكم.

الآن انتبه إلى الشاشة.


الشكل 2 نتيجة قائمة البرنامج 11

ولكن هناك حل! وهذا الحل - عامل مركب ()... إذا أرفقنا عبارات متعددة بأقواس معقوفة ، فسيتم التعامل معها على أنها عبارة واحدة. لذلك ، لكي يعمل البرنامج بشكل صحيح ، نضيف إليه عامل تشغيل مركب:

القائمة 6.

#يشمل int main (باطل) (int x = 0 ؛ scanf ("٪ d" ، & x) ؛ إذا (x< 0){ printf("x = %d\n", x); x = (-1)*x; } printf("%d\n", x); return 0; }

حسنًا ، الآن كل شيء كما ينبغي أن يكون. تحقق من ذلك بنفسك. بالمناسبة ، من التجربة. أنصحك بشدة باستخدام الأقواس المتعرجة دائمًا ، حتى لو كان هناك عامل واحد بداخلها. في كثير من الأحيان ، هذا يتجنب الأخطاء الغبية.

يمكن استخدام أي بنية لغة داخل بنية التحكم if-else ، بما في ذلك بناء واحد آخر إذا كان if-else.

على سبيل المثال:

قائمة 7.

#يشمل int main (باطل) (int x = 0 ؛ scanf ("٪ d" ، & x) ؛ إذا (x< 0) { printf("Negative!\n"); } else { if (x == 0){ printf("Zero!\n"); } else { printf("Positive!\n"); } } return 0; }

أعتقد أنه من الواضح أنه باستخدام العبارات الشرطية المتداخلة ، يمكنك إنشاء بنية مشابهة لعبارة اختيار التبديل.

يُدخل استخدام الشروط الشرطية المتداخلة ميزة أخرى.

آخر يشير دائمًا إلى الأقرب إذا لم يكن له آخر

على سبيل المثال:

القائمة 8.

إذا (ن> 0) إذا (أ> ب) ض = أ ؛ آخر ض = ب ؛

وفقًا لقواعدنا ، يشير مصطلح else إلى الجزء الداخلي (الثاني) إذا. إذا أردنا أن نشير إلى العامل الخارجي (أولاً) إذا ، فيمكننا استخدام العامل المركب.

القائمة 9.

إذا (n> 0) (if (a> b) z = a؛) else z = b ؛

كما ذكرت ، من الأفضل دائمًا استخدام الأقواس المتعرجة لتجنب سوء تفسير التدوين. من الصعب جدًا البحث عن مثل هذه الأخطاء في البرامج. انتبه أيضًا إلى المسافة البادئة. أستخدمها لأوضح على الفور من الكود الفرع الذي ينتمي إليه إذا.

سيغطي الدرس التعليمات الشرطية لـ php: تعليمة if وبيان التبديل

يتم تمثيل عبارات php الشرطية بثلاثة تراكيب رئيسية:

  • عامل الشرط لو,
  • عامل التبديل تحول
  • و عامل ثلاثي.

دعونا نلقي نظرة فاحصة على كل منهم.

بيان PHP if

الشكل 3.1. عبارة IF الشرطية ، نسخة مختصرة


أرز. 3.2 IF ELSE بناء جملة الجملة الشرطية


أرز. 3.3 بناء الجملة الكامل لعبارة IF الشرطية

دعونا نلخص:

الصيغة الكاملة هي:

if (الشرط) (// إذا كان الشرط صحيحًا عامل التشغيل 1 ؛ عامل التشغيل 2 ؛) elseif (الشرط) (عامل التشغيل 1 ؛ ...) آخر (// إذا كان الشرط خطأ عامل التشغيل 1 ؛ عامل التشغيل 2 ؛)

  • يمكن بناء الجملة المختصرة لا تحتوي على جزء من البناء مع else ولا تحتوي على شرط إضافي elseif
  • بدلاً من الكلمة الوظيفية elseif ، يمكنك كتابة else if (بشكل منفصل)
  • يمكن أن يكون هناك العديد من عناصر elseifs في عبارة if واحدة. سيتم تنفيذ أول تعبير elseif الذي تم مواجهته والذي يساوي TRUE.
  • إذا كان هناك شرط بديل ، يجب أن تأتي جملة else في الصياغة.

النقطتان: يمكن استخدامها في جملة شرطية بدلاً من الأقواس المتعرجة. في هذه الحالة ، ينتهي عامل التشغيل بكلمة الخدمة endif

أرز. 3.4. تعليمة If و Endif الشرطية في ملف php

مثال:

إذا ($ x> $ y): صدى $ x. "أكبر من". $ y؛ elseif ($ x == $ y): // عند استخدام ":" لا يمكنك الكتابة بشكل منفصل إذا كان echo $ x. "يساوي". $ y؛ آخر: صدى $ x. "not> وليس =". $ y؛ إنهاء إذا؛

الأهمية:عند استخدام النقطتين بدلاً من الأقواس المتعرجة elseif ، لا يمكنك الكتابة بكلمتين!

العمليات المنطقية في حالة

يمكن أن تكون العمليات التالية موجودة في عبارة if بين قوسين:

مثال:تحقق من قيمة المتغير الرقمي: إذا كانت أقل من أو تساوي 10 ، اعرض رسالة "رقم أقل من أو يساوي 10"، في الحالة المعاكسة ، قم بإصدار رسالة "الرقم أكبر من 10"


حل:

الرقم بالدولار = 15 ؛ إذا (رقم دولار<=10) { echo "число меньше или равно 10"; } else { echo "число больше 10"; }

يمكن كسر كتل كود php ، ضع في اعتبارك مثالاً:

مثال:عرض كود html "أ يساوي 4"إذا كان المتغير $ a هو بالفعل 4


1 الحل:
1 2 3 4

2 الحل:

1 2 3 أ يساوي 4

أ يساوي 4

وظيفة php 3_1:عرض ترجمة الألوان من اللغة الإنجليزيةإلى الروسية ، التحقق من قيمة المتغير (الذي تم تعيين اللون فيه: $ a = "blue")


وظيفة php 3_2:أوجد ثلاثة أرقام كحد أقصى

عمليات المقارنة وحكم الكذب

في عبارة if ، يجب أن يكون هناك تعبير منطقي أو متغير بين أقواس يتم اعتباره من وجهة نظر الجبر المنطقي ، وإرجاع القيم إما صواب أو خطأ

أولئك. يمكن استخدام متغير واحد كشرط. لنفكر في مثال:

1 2 3 4 $ أ = 1 ؛ إذا ($ a) (echo $ a؛)

$ أ = 1 ؛ إذا ($ a) (echo $ a؛)

في المثال المترجم لغة phpسوف ننظر في المتغير بين قوسين لقاعدة الكذب:

قاعدة LIE أو ما يعتبر خطأ:

  • منطقي خاطئة
  • عدد صحيح صفر ( 0 )
  • صفر صالح ( 0.0 )
  • سطر فارغوالخط «0»
  • مجموعة بدون عناصر
  • كائن بدون متغيرات
  • نوع خاص باطل

وبالتالي ، في المثال المدروس ، المتغير $ a يساوي واحدًا ، على التوالي ، سيكون الشرط صحيحًا والعامل echo $ a ؛ سيعرض قيمة المتغير.

وظيفة php 3_3:بإعطاء متغير a مع قيمة سلسلة. إذا كان a يساوي الاسم ، ثم الإخراج "مرحبا اسم!"، إذا كان a يساوي قيمة فارغة ، ثم الإخراج "مرحبا أيها الغريب!"

التركيبات المنطقية AND OR و NOT في المعامل الشرطي

  1. في بعض الأحيان يكون من الضروري توفير العديد من الشروط في نفس الوقت. ثم تتحد الشروط عامل منطقي AND — && :
  2. $ أ = 1 ؛ إذا ($ a> 0 || $ a> 1) (صدى "a> 0 أو a> 1" ؛)

  3. للإشارة إلى أن الشرط خاطئ ، استخدم عامل التشغيل المنطقي NOT — ! :
  4. 1 2 3 4 $ أ = 1 ؛ إذا (! ($ a< 0 ) ) { echo "a не < 0" ; }

    $ أ = 1 ؛ إذا (! ($ a<0)) { echo "a не < 0"; }

تحويل بيان PHP

تحل عبارة التبديل أو "التبديل" محل العديد من عبارات if المتتالية. وبذلك ، فإنه يقارن متغيرًا واحدًا بمجموعة من القيم. وبالتالي ، فهو العلاج الأكثر ملاءمة. لتنظيم متعدد الفروع.

بناء الجملة:

1 2 3 4 5 6 7 8 9 10 التبديل (متغير $) (الحالة "value1": statement1 ؛ break ؛ الحالة "value2": بيان 2 ؛ كسر ؛ الحالة "value3": statement3 ؛ break ؛ [افتراضي: statement4 ؛ break ؛])

التبديل (متغير $) (الحالة "value1": بيان 1 ؛ كسر ؛ الحالة "value2": بيان 2 ؛ فاصل ؛ الحالة "value3": بيان 3 ؛ استراحة ؛)

  • يمكن للمشغل التحقق من قيم السلسلة (وفي هذه الحالة يشار إليها بعلامات اقتباس) والرقمية (بدون علامات اقتباس).
  • مطلوب بيان كسر في البناء. يخرج من البناء إذا كان الشرط صحيحًا ويتم تنفيذ العامل المطابق للشرط. بدون انقطاع ، سيتم تنفيذ جميع بيانات الحالة بغض النظر عن حقيقتها.

أرز. 3.5 عبارة التبديل الشرطي


مثال:يتم إعطاء مصفوفة بأسماء المذكر كاملة. تحقق من العنصر الأول من المصفوفة ، واعتمادًا على الاسم ، قم بإصدار تحية باسم قصير.


حل:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 أسماء $ = صفيف ("إيفان" ، "بيتر" ، "سيميون") ؛ التبديل (أسماء $ [0]) (حالة "بيتر": صدى "مرحبًا ، بيتيا!" ؛ كسر ؛ حالة "إيفان": صدى "مرحبًا ، فانيا!" ؛ كسر ؛ حالة "سيميون": صدى "مرحبًا ، فانيا! "؛ استراحة ؛ افتراضي: صدى الصوت" مرحبًا ، أسماء $! "؛ استراحة؛ )

أسماء $ = صفيف ("إيفان" ، "بيتر" ، "سيميون") ؛ switch (أسماء $) (الحالة "Peter": صدى "Hello، Petya!" ؛ كسر ؛ الحالة "Ivan": صدى "Hello، Vanya!" ؛ كسر ؛ الحالة "Semyon": صدى "Hello، Vanya!" ؛ استراحة ؛ الافتراضي: صدى "Hello، $ names!"؛ break؛)

وظيفة php 3_4:

  • قم بإنشاء متغير $ day وقم بتعيين قيمة رقمية عشوائية له
  • استخدم بيان التبديل لإخراج العبارة "هذا يوم عمل"إذا كانت قيمة المتغير $ day تقع ضمن نطاق الأرقام من 1 إلى 5 (ضمناً)
  • إخراج العبارة "إنه يوم إجازة"إذا كانت قيمة المتغير $ day هي 6 أو 7
  • إخراج العبارة "يوم غير معروف"إذا كانت قيمة المتغير $ day ليست في نطاق الأرقام من 1 إلى 7 (ضمناً)

أكمل الكود:

1 2 3 4 5 6 7 8 9 10 11 12 ... التبديل (...) (الحالة 1: الحالة 2: ... صدى "هذا يوم عمل"؛ استراحة؛ الحالة 6: ... الافتراضي: ...)

التبديل (...) (الحالة 1: الحالة 2: ... صدى "هذا يوم عمل" ؛ استراحة ؛ الحالة 6: ... افتراضي: ...)

عامل PHP الثلاثي

عامل ثلاثي، بمعنى آخر. مع ثلاثة معاملات ، لديه بناء جملة بسيط إلى حد ما ، في أي على يسار؟ الشرط مكتوب ، وعلى اليمين - عاملين مفصولين بعلامة: ، على يسار العلامة ، يتم تنفيذ المشغل إذا كان الشرط صحيحًا ، وعلى يمين العلامة: يتم تنفيذ المشغل إذا كان الشرط صحيحًا خاطئة.

شرط؟ عامل التشغيل 1: عامل التشغيل 2 ؛

12.09.2017

ليس بعد


مرحبا بالجميع!
الاستمرار في تعلم أساسيات PHP من البداية!
في هذا البرنامج التعليمي ، سوف أخبرك عن بيان شرط آخر... حرفيا ، إذا كانت تعني "إذا" ، وكلمة أخرى تعني "خلاف ذلك". تساعد بنية if else نفسها في التحقق من البيانات وعرض النتيجة (عرض الرسائل أو تنفيذ بعض الأوامر أو إعادة توجيه المستخدم إلى صفحة سرية أو السماح له بالدخول إلى لوحة الإدارة). لتعلم كيفية كتابة الشروط بشكل صحيح وفهم بناء if else ، سأقدم لك مثالًا واقعيًا مشابهًا جدًا لبنية if else.
أنت تعطي عقلك أمرًا: بمجرد أن يدق المنبه (6:00) ، يجب أن أقوم وأغسل وجهي وأفرش أسناني وأرتدي ملابسي وأعدو للعمل. إذا لم يرن المنبه في الساعة 6:00 ، فيمكنك النوم ، لأنك لست بحاجة إلى الركض إلى العمل.
هل لاحظت بيان if else؟ سيكون الشرط المسبق هو وقت التنبيه المحدد "6:00". إذا رن المنبه ، فنحن ننهض ونركض إلى العمل ، وإذا لم يرن (وإلا ، ما زالوا يقولون كذبة) ، فنحن ننام.
يمكنك إنشاء الكثير من مثل هذه الأمثلة للحياة ، على سبيل المثال: إذا هطل المطر ، فأنا أجلس في المنزل ، وإذا لم يكن هناك مطر ، فأنا آخذ الكرة وأذهب للعب كرة القدم.
فكيف يمكنك اكتب البناء if else؟ بسيط جدا.
دعنا نذهب خطوة بخطوة ونبدأ بشرط بسيط - عبارة if.

من أجل فهم أفضل ، قمت برسم مخطط بيان if في شكل صورة:

الآن دعونا نحاول تحويل مثال الحياة الذي ذكرته أعلاه إلى كود php.

إذا قمت بحفظ ملف php بهذا الكود وفتحته من خلال خادم محلي (انظر) ، ستكون النتيجة:

شرح الكود:
في هذه الحالة ، قارنت المتغير $ weather مع قيمة "rain" (السطر رقم 3). من الناحية البشرية ، يبدو هذا الرمز كما يلي: إذا كان المتغير $ weather يساوي قيمة "rain" ، فأنت بحاجة إلى عرض النص " انا جالس في المنزل". بالمناسبة ، دعني أذكرك (إذا نسيت قليلاً) أن علامة المساواة يُرمز إليها بعلامة تساوي مزدوجة ، مثل هذه (==). إذا كتبت قيمة أخرى إلى متغير الطقس $ (السطر رقم 2 ) ، على سبيل المثال ، ثلج ، ثم سيقوم المتصفح بإفراغ الصفحة حيث لم يتم استيفاء الشروط.

← رمز النقش "البناء إذا":

→ ورقة الغش:

المساواة: ==
مثال: إذا ($ a == $ b)

لا مساواة :! =
مثال: إذا ($ a! = $ B)

المزيد:>
مثال: إذا ($ a> $ b)

الأصغر:<
مثال: إذا ($ a< $b)

أكبر من أو يساوي:> =
مثال: إذا ($ a> = $ b)

اقل او يساوي:<=
مثال: إذا ($ a<= $b)

منطقي "و": و
مثال: إذا ($ a == $ b و $ c! = $ D)

منطقي "أو": أو ، ||
مثال: إذا ($ a == $ b || $ c! = $ D)

الآن سنحاول عرض رسالة إذا لم يتم استيفاء الشروط ، أي إذا هطل المطر ، أجلس في المنزل ، وإذا لم تمطر ، آخذ الكرة وأذهب للعب كرة القدم. لفهم أفضل ، دعنا نرى الشكل أدناه:

الآن سنقوم بترجمة الدائرة إلى كود حقيقي:

نتيجة:

آخذ الكرة وأذهب للعب كرة القدم

شرح الكود:
في الحالة ، قارنت متغير الطقس $ بقيمة "مطر" (السطر رقم 3) ، ولكن منذ أن قمت بتعيين القيمة "شمس" لمتغير الطقس $ (السطر رقم 2) ، لم يتم استيفاء الشرط ( القيم ليست هي نفسها) ، مما يعني أن الجزء الثاني من الكود (وإلا) سيعمل:

عدا ذلك (صدى "أنا آخذ الكرة وأذهب للعب كرة القدم" ؛ // النتيجة إذا لم يكن الشرط صحيحًا)

← نمط الكود "البناء إذا كان آخر":

شرط مزدوج إذا كان آخر

الانتقال إلى موضوع أكثر تعقيدًا - شرط مزدوج إذا كان آخر.
دعنا نستخدم مثالاً لإنشاء كلمة مرور والتحقق من تسجيل الدخول.

استهداف:
قم بإنشاء شرط للتحقق من تسجيل الدخول وكلمة المرور. إذا لم تتطابق كلمة المرور أو تسجيل الدخول ، اعرض رسالة خطأ.

هيا بنا نبدأ.
أولاً ، لنقم بإنشاء متغيرين $ logo و $ password بالقيم المقابلة:

لاحظ أننا في العبارة فصلنا بين المتغيرين باستخدام عامل التشغيل "AND". هذا يعني أنه يجب أن يكون متغيرين صحيحين حتى يتم استيفاء الشرط ، ولكن نظرًا لأن شرطنا لا يتطابق مع كلمة المرور (الحوض رقم 4) ، فهذا يعني أن الشرط غير صحيح وسترى الرسالة التالية على الشاشة:

تسجيل الدخول أو كلمة المرور غير صحيحة

إذا قمت بتغيير قيمة متغير كلمة المرور $ إلى "123" (السطر رقم 3) ، فسيتم استيفاء الشروط بالكامل (السطر رقم 4):

نتيجة:

مرحبا بكم في لوحة الادارة

بنى متداخلة if-else

بناء متداخل- هذا عندما يكون هناك هيكل آخر داخل الهيكل. شرح ليس بشكل واضح تماما؟ لا يهم ، سوف تفهم كل شيء بالقدوة.

استهداف:
قم بإنشاء شرط للتحقق من تسجيل الدخول وكلمة المرور. إذا لم تتطابق كلمة المرور أو تسجيل الدخول ، اعرض رسالة خطأ ، إذا كانت متطابقة ، ثم تحقق من الكلمة السرية ، إذا كانت كلمة السر غير متطابقة ، اعرض رسالة خطأ ، إذا كانت مطابقة ، ثم اعرض الرسالة " مرحبا بكم في لوحة الادارة ".

هيا بنا نبدأ:

أولاً ، لنقم بإنشاء ثلاثة متغيرات ، شعار $ و $ password و $ x بالقيم المقابلة:

لنقم الآن بإنشاء شرط مزدوج لاختبار المتغيرات $ logo و $ password:

الآن تحت التعليق " // سيكون هناك شرط آخر بكلمة سرية "(السطر رقم 7) اكتب واحدًا آخر بناء إذا-آخربشرط فحص المتغير $ x:

نظرًا لأن الكلمة السرية غير صحيحة (السطر رقم 8) ، ستعرض الشاشة رسالة:

كلمة السر خاطئة

إذا استبدلت قيمة المتغير $ x بـ "BlogGOOD" ، فإن الكلمة السرية تكون صحيحة أيضًا:

نظرًا لأن تسجيل الدخول وكلمة المرور صحيحان ، وهذا يعني أنه تم استيفاء الشرط ، فقد نجح الجزء الأول من الكود ، حيث كان من الضروري التحقق من الكلمة السرية. نظرًا لأن الكلمة السرية صحيحة مع الشرط ، فستظهر على الشاشة الرسالة:

مرحبا بكم في لوحة الادارة

→ رمز النمط "البناء المتداخل إذا كان آخر":

بيان حالة السيف

السيف الانشاءعبارة عن مجموعة من عبارات if و else التي ستساعدك على التحقق من عدة شروط متتالية.

بناء الجملة:

لاحظ أنه في السطر رقم 6 ورقم 10 ، تمت كتابة كلمتين معًا بشكل خاص "elseif" ، إذا قمت بفصلهما بمسافة "else if" ، فسيقوم الرمز بإنشاء خطأ.

دعونا نعطي كود عمل مع مجموعة مختارة من دروس البرمجة.

نتيجة:

لقد طلبت PHP تعليمي

يمكن كتابة طريقة elseif بنفس الطريقة متداخلة إذا كان البناء آخر:

النتيجة هي نفسها ، ولكن من الأسهل الشعور بالارتباك (لقد ارتبكت مرتين في الكود الخاص بي).

إضافة إلى الدرس (لست بحاجة إلى معرفته بعد):

هناك عدة خيارات أخرى لكيفية كتابة if else ( بناء الجملة البديل).
سأقوم بإعداد درس كامل عن التركيب البديل ، حيث سأشرح وأعرض كل شيء. في الوقت الحالي ، فقط تجاوز عينيك.
كود # 1:

المتغير "$ a" يحتوي على القيمة 15

واجب منزلي:
حاول استبدال عدم المساواة (! =) بدلاً من المساواة (==) في الشرط ، أو جرب بعلامات أكبر من الأصغر:

واستبدل أيضًا عامل التشغيل "AND" بـ "OR".

الجميع ، أنا في انتظاركم في الدروس القادمة! اشترك في تحديثات المدونة!

المنشور السابق
آخر بعد

(PHP 4 ، PHP 5 ، PHP 7)

آخر، كما يوحي اسمها ، هي مزيج من لوو آخر... يحب آخر، فإنه يمتد لوبيان لتنفيذ بيان مختلف في حالة الأصل لويقيّم التعبير إلى خاطئة... ومع ذلك ، على عكس آخر، سيتم تنفيذ هذا التعبير البديل فقط إذا كان آخريتم تقييم التعبير الشرطي إلى حقيقية... على سبيل المثال ، ستعرض الكود التالي أ أكبر من ب ، أ يساوي ب أو أ أصغر من ب:

إذا ($ a> $ b) (
صدى "أ أكبر من ب" ؛
) elseif ($ a == $ b) (
صدى "أ يساوي ب" ؛
) آخر (
صدى "أ أصغر من ب" ؛
}
?>

قد يكون هناك عدة آخرق داخل نفسه لوبيان. الأول آخرالتعبير (إن وجد) الذي يتم تقييمه لـ حقيقيةسيتم إعدامه. في PHP ، يمكنك أيضًا كتابة "else if" (في كلمتين) وسيكون السلوك مطابقًا لسلوك "elseif" (في كلمة واحدة). يختلف المعنى النحوي اختلافًا طفيفًا (إذا كنت "معتادًا على لغة C ، فهذا هو نفس السلوك) ولكن خلاصة القول هي أن كليهما سيؤدي إلى نفس السلوك تمامًا.

ال آخريتم تنفيذ العبارة فقط إذا كان ما يسبقها لوالتعبير وأي سابقه آخرالتعبيرات التي تم تقييمها ل خاطئة، والحالية آخرتقييم التعبير ل حقيقية.

ملحوظة: لاحظ أن آخرو وإلا إذاسيتم اعتباره متطابقًا تمامًا فقط عند استخدام الأقواس المتعرجة كما في المثال أعلاه. عند استخدام النقطتين لتعريف الخاص بك لو/آخرالشروط ، يجب أن لا تفرق وإلا إذاإلى كلمتين ، أو ستفشل PHP مع وجود خطأ في التحليل.

/ * طريقة غير صحيحة: * /
إذا ($ a> $ b):
وإلا إذا ($ a == $ b): // لن يتم التحويل البرمجي.
صدى صوت "السطر أعلاه يسبب خطأ تحليل.";
إنهاء إذا؛

/ * الطريقة الصحيحة: * /
إذا ($ a> $ b):
صدى $ أ. "أكبر من". ب ؛
elseif ($ a == $ b): // لاحظ مزيج الكلمات.
صدى $ أ. يساوي. ب ؛
آخر:
صدى $ أ. "ليس أكبر من أو يساوي"... ب ؛
إنهاء إذا؛