คอมพิวเตอร์ Windows อินเทอร์เน็ต

ถ้าไวยากรณ์อื่น ตัวดำเนินการแบบมีเงื่อนไข สคริปต์ทักทายขึ้นอยู่กับช่วงเวลาของวัน

บางแหล่งกล่าวว่าคำสั่ง select if else is ตัวดำเนินการอิสระ... แต่ไม่ใช่ ถ้าอย่างอื่นเป็นเพียงสัญกรณ์ของคำสั่ง if Selection คำสั่ง if else อนุญาตให้โปรแกรมเมอร์กำหนดการดำเนินการเมื่อเงื่อนไขเป็นจริง และการดำเนินการทางเลือกเมื่อเงื่อนไขเป็นเท็จ ในขณะที่หากได้รับอนุญาตให้กำหนดการกระทำภายใต้เงื่อนไขที่แท้จริง

ไวยากรณ์สำหรับการเขียนคำสั่ง select หากเป็นอย่างอื่น:

ถ้า (/ * เงื่อนไขที่ตรวจสอบ * /) (/ * เนื้อหาของโอเปอเรเตอร์การเลือก 1 * /;) อื่น (/ * เนื้อหาของโอเปอเรเตอร์การเลือก 2 * /;)

มันอ่านว่า: “ถ้าเงื่อนไขที่ตรวจสอบเป็นจริงแล้ว เลือกเนื้อหาคำสั่ง 1มิฉะนั้น (นั่นคือ เงื่อนไขที่ตรวจสอบเป็นเท็จ) เลือกเนื้อหาคำสั่ง 2". สังเกตว่าคำสั่ง if else ถูกเขียนอย่างไร ส่วนคำอื่นจงใจเลื่อนไปทางขวาเป็น รหัสโปรแกรมเข้าใจง่ายและอ่านง่าย

ลองดูปัญหาจากหัวข้อก่อนหน้าโดยใช้ if else ให้ฉันเตือนคุณถึงเงื่อนไขของปัญหา: "คุณได้รับสองตัวเลข คุณต้องเปรียบเทียบพวกเขา"

// if_else.cpp: กำหนดจุดเริ่มต้นสำหรับแอปพลิเคชันคอนโซล #รวม "stdafx.h" #include ใช้เนมสเปซ std; int main (int argc, char * argv) (int a, b; cout<< "Vvedite pervoe chislo: "; cin >> เอ; ศาล<< "Vvedite vtoroe chislo: "; cin >> ข; if (a> = b) // ถ้า a มากกว่าหรือเท่ากับ b แล้ว (cout<< a << " >= " << b << endl; } else // иначе { cout << a << " <= " << b << endl; } system("pause"); return 0; }

ในรหัสนี้เราสนใจสาย 14-20... บรรทัดเหล่านี้อ่านดังนี้: if NS (ตัวเลขแรก) มากกว่าหรือเท่ากับ NS (ตัวเลขที่สอง) จากนั้นรันคำสั่งเอาต์พุตในสาย 16

Cout<< a << " >= " << b << endl;

มิฉะนั้นให้รันคำสั่งเอาต์พุตใน สาย 19

Cout<< a << " <= " << b << endl;

ใน ife นี้ เราใช้การดำเนินการสัมพันธ์> = และ<= . Условие перехода не совсем правильно, так как условие будет ложно только в том случае, если первое число будет меньше второго, во всех остальных случаях условие истинно. Значит, สาย 19ควรจะเขียนแบบนี้

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

และนี่คือวิธีการทำงานของโปรแกรม (ดูรูปที่ 1)

Vvedite pervoe chislo: 15 Vvedite vtoroe chislo: -4 15> = -4 กดปุ่มใดก็ได้เพื่อดำเนินการต่อ ... ...

รูปที่ 1 - ตัวดำเนินการทางเลือก if else

ผมขอแสดงให้คุณเห็นอีกตัวอย่างหนึ่งของการใช้คำสั่ง if else Selection (คำสั่งที่ซ้อนกัน if else สำหรับการเลือกหลายรายการ)

งาน:
สร้างอัลกอริทึมที่หาค่าของ y ถ้า y = x สำหรับ x<0; у=0, при 0<=х<30; у=х 2 , при х>=30;

// inif_else.cpp: กำหนดจุดเริ่มต้นสำหรับแอปพลิเคชันคอนโซล #รวม "stdafx.h" #include ใช้เนมสเปซ std; int main (int argc, char * argv) (int x, y; cout<< "Vvedite x: "; cin >> x; ถ้า (x< 0) { y = x; // выполняется, если х меньше нуля } else { if ((x >= 0) && (x< 30)) { y = 0; // выполняется, если х больше либо равно нуля и меньше 30 } else { if (x >= 30) (y = x * x; // ดำเนินการถ้า x มากกว่าหรือเท่ากับ 30)))<< "y=" << y << endl; system("pause"); return 0; }

ในปัญหานี้ เป็นไปได้สามกรณี:
กรณีที่ 1: x< 0 ;
กรณีที่ 2: x อยู่ในช่วงตั้งแต่ 0 (รวม 0) ถึง 30;
กรณีที่ 3: 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 เงื่อนไขเป็นเท็จ เราจึงไปที่คำอื่น (มิฉะนั้น) สาย 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 - else

มีสองตัวเลือกหลักที่นี่:

รายการ 1

// ตัวเลือกแรก if (conditional_expression) โอเปอเรเตอร์_1; // ตัวเลือกที่สอง if (conditional_expression) โอเปอเรเตอร์_1; โอเปอเรเตอร์_2;

และรูปภาพ แน่นอน เราจะไปที่ไหนโดยไม่มีรูปภาพ?

รูปที่ 1 บล็อกไดอะแกรมของตัวดำเนินการ if-else

โอเปอเรเตอร์นี้ทำงานในลักษณะนี้ ค่าของนิพจน์เงื่อนไขจะถูกประเมิน หากเป็นจริง คำสั่ง _1 จากสาขาหลักจะถูกดำเนินการ และหากเป็นเท็จ จะไม่มีอะไรเกิดขึ้น (ในเวอร์ชันแรก) หรือคำสั่ง_2 จากสาขาด้านข้าง จะถูกดำเนินการ (ในเวอร์ชันที่สอง)

ฉันเสนอให้เข้าใจตัวอย่างทันที ตัวอย่างเช่น คุณคิดว่าโค้ดต่อไปนี้จะแสดงอะไร ตรวจสอบการคาดเดาของคุณ

รายการที่ 2

#รวม int main (เป็นโมฆะ) (ถ้า (1) printf ("TRUE! \ n"); else printf ("FALSE! \ n"); return 0;)

ใช่ ถูกต้อง มันจะแสดงผล TRUE! ... เงื่อนไขเป็นจริง คุณลืมไปแล้วหรือยังว่าสิ่งหนึ่งที่เป็นความจริง? ฉันจะบอกคุณบางอย่างที่น่ากลัวตอนนี้ จำนวนที่ไม่ใช่ศูนย์ถือเป็นจริง ตรวจสอบออกสำหรับตัวคุณเอง

โอเค ต่อไปนี้คือตัวอย่าง คุณคิดว่าโปรแกรมนี้จะแสดงอะไร?

รายการที่ 3

#รวม int main (เป็นโมฆะ) (ถ้า (0) printf ("FALSE! \ n"); return 0;)

ฉันหวังว่าคุณจะให้คำตอบที่ถูกต้องและคุณไม่สับสนกับผลลัพธ์ FALSE! ที่ฉันเพิ่มโดยตั้งใจจะทำให้คุณสับสน ใช่ โปรแกรมนี้จะไม่แสดงผลอะไรเลย เงื่อนไขในวงเล็บเป็นเท็จ ซึ่งหมายความว่าคำสั่งจะไม่ถูกดำเนินการ ทุกอย่างเป็นไปตามกฎ

มาดูตัวอย่างอื่นเพื่อเสริมความแข็งแกร่งกัน ระวังตัวไว้ให้มาก ฉันได้เตรียมทุกคนไว้ที่นั่นสำหรับคุณแล้ว แล้วรหัสนี้จะออกมาเป็นอย่างไร?

รายการที่ 4

#รวม int main (เป็นโมฆะ) (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); if (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); if (x< 0) { printf("Negative!\n"); } else { if (x == 0){ printf("Zero!\n"); } else { printf("Positive!\n"); } } return 0; }

ฉันคิดว่ามันชัดเจนว่าการใช้คำสั่งเงื่อนไขแบบซ้อน คุณสามารถสร้างโครงสร้างที่คล้ายกับคำสั่งการเลือกสวิตช์

การใช้เงื่อนไขแบบซ้อนทำให้เกิดความแปลกอีกอย่างหนึ่ง

อื่น ๆ มักจะหมายถึงใกล้เคียงที่สุดถ้าไม่มีอื่น ๆ ของมัน

ตัวอย่างเช่น:

รายการที่ 8

ถ้า (n> 0) ถ้า (a> b) z = a; อื่น z = b;

ตามกฎของเรา อื่น หมายถึงภายใน (ที่สอง) ถ้า หากเราต้องการอย่างอื่นเพื่ออ้างถึงด้านนอก (ก่อน) หากเราสามารถใช้ตัวดำเนินการแบบผสมได้

รายการ 9

ถ้า (n> 0) (ถ้า (a> b) z = a;) อื่น z = b;

ดังที่ฉันได้กล่าวไปแล้ว เป็นการดีที่สุดที่จะใช้วงเล็บปีกกาเพื่อหลีกเลี่ยงการตีความสัญกรณ์ที่ผิดพลาด เป็นการยากมากที่จะค้นหาข้อผิดพลาดดังกล่าวในโปรแกรม ให้ความสนใจกับการเยื้อง ฉันใช้มันเพื่อให้ชัดเจนทันทีจากรหัสว่าสาขาใดเป็นของสาขาใด

บทเรียนจะครอบคลุมคำสั่งเงื่อนไข php: คำสั่ง if และคำสั่ง switch

คำสั่งเงื่อนไข php ถูกแสดงโดยโครงสร้างหลักสามประการ:

  • ตัวดำเนินการเงื่อนไข ถ้า,
  • ตัวดำเนินการสวิตช์ สวิตซ์
  • และ โอเปอเรเตอร์ไตรภาค.

ลองมาดูที่แต่ละของพวกเขา

PHP ถ้าคำสั่ง

รูปที่ 3.1. คำสั่ง IF แบบมีเงื่อนไข เวอร์ชันย่อ


ข้าว. 3.2. IF ELSE ไวยากรณ์คำสั่งแบบมีเงื่อนไข


ข้าว. 3.3. กรอกไวยากรณ์สำหรับคำสั่งเงื่อนไข IF elseif

มาสรุปกัน:

ไวยากรณ์ที่สมบูรณ์คือ:

if (เงื่อนไข) (// ถ้าเงื่อนไขเป็นจริงโอเปอเรเตอร์1;โอเปอเรเตอร์2;) elseif (เงื่อนไข) (ตัวดำเนินการ1; ...) else (// หากเงื่อนไขเป็นเท็จโอเปอเรเตอร์1;โอเปอเรเตอร์2;)

  • ไวยากรณ์ที่สั้นลง can ไม่มีส่วนของการก่อสร้างร่วมกับอย่างอื่นและไม่มีเงื่อนไขเพิ่มเติมelseif
  • แทนที่จะใช้ฟังก์ชัน elseif คุณสามารถเขียน else if (แยกกัน) ได้
  • สามารถมี elseifs ได้หลายแบบในคำสั่ง if นิพจน์ elseif ที่พบครั้งแรกเท่ากับ TRUE จะถูกดำเนินการ
  • หากมีเงื่อนไขอื่น elseif ประโยค else จะต้องอยู่ท้ายสุดในไวยากรณ์

โคลอน: สามารถใช้ในคำสั่งแบบมีเงื่อนไขแทนวงเล็บปีกกา ในกรณีนี้ โอเปอเรเตอร์ลงท้ายด้วยคำว่า endif

ข้าว. 3.4. คำสั่งเงื่อนไข if และ Endif ใน php

ตัวอย่าง:

if ($ x> $ y): echo $ x. "มากกว่า" $ y; elseif ($ x == $ y): // เมื่อใช้ ":" คุณไม่สามารถเขียนแยกกันหาก echo $ x "เท่ากับ" $ y; อื่น: echo $ x "ไม่> และไม่ใช่ =". $ y; เอนดิฟ;

สำคัญ:เมื่อใช้เครื่องหมายทวิภาคแทนวงเล็บปีกกา elseif คุณไม่สามารถเขียนเป็นสองคำได้!

การดำเนินการเชิงตรรกะในเงื่อนไข

การดำเนินการต่อไปนี้สามารถมีอยู่ใน if clause ในวงเล็บ:

ตัวอย่าง:ตรวจสอบค่าของตัวแปรตัวเลข: หากน้อยกว่าหรือเท่ากับ 10 ให้แสดงข้อความ "จำนวนที่น้อยกว่าหรือเท่ากับ 10", ในทางกลับกัน, ออกข้อความ "จำนวนมากกว่า 10"


สารละลาย:

จำนวน $ = 15; ถ้า ($ หมายเลข<=10) { echo "число меньше или равно 10"; } else { echo "число больше 10"; }

บล็อกของโค้ด php อาจเสียหายได้ ลองพิจารณาตัวอย่าง:

ตัวอย่าง:แสดงโค้ด html "A เท่ากับ 4"ถ้าตัวแปร $ a เป็น 4 . จริง ๆ


1 วิธีแก้ปัญหา:
1 2 3 4

2 วิธีแก้ปัญหา:

1 2 3 A เท่ากับ 4

A เท่ากับ 4

งาน PHP 3_1:แสดงการแปลสีจาก ของภาษาอังกฤษเป็นภาษารัสเซียตรวจสอบค่าของตัวแปร (ซึ่งกำหนดสี: $ a = "blue")


งาน PHP 3_2:ค้นหาตัวเลขสูงสุดสามตัว

การดำเนินการเปรียบเทียบและกฎของการโกหก

ในคำสั่ง if จะต้องมีนิพจน์ตรรกะหรือตัวแปรในวงเล็บที่พิจารณาจากมุมมองของพีชคณิตลอจิกส่งคืนค่าจริงหรือเท็จ

เหล่านั้น. ตัวแปรเดียวสามารถใช้เป็นเงื่อนไขได้ ลองพิจารณาตัวอย่าง:

1 2 3 4 $a = 1; ถ้า ($ a) (echo $ a;)

$a = 1; ถ้า ($ a) (echo $ a;)

ในตัวอย่าง ตัวแปล ภาษา phpจะพิจารณาตัวแปรในวงเล็บสำหรับกฎแห่งการโกหก:

กฎของ LIE หรือสิ่งที่ถือว่าเป็นเท็จ:

  • ตรรกะ เท็จ
  • จำนวนเต็มศูนย์ ( 0 )
  • ศูนย์ที่ถูกต้อง ( 0.0 )
  • บรรทัดว่างและเส้น «0»
  • อาร์เรย์ที่ไม่มีองค์ประกอบ
  • วัตถุที่ไม่มีตัวแปร
  • แบบพิเศษ โมฆะ

ดังนั้น ในตัวอย่างที่พิจารณา ตัวแปร $ a เท่ากับหนึ่ง ตามลำดับ เงื่อนไขจะเป็นจริง และตัวดำเนินการ echo $ a; จะแสดงค่าของตัวแปร

งาน PHP 3_3:กำหนดให้ตัวแปร a มีค่าสตริง ถ้า a เท่ากับชื่อแล้ว output “สวัสดีชื่อ!”, ถ้า a เท่ากับค่าว่าง แล้ว output "สวัสดีคนแปลกหน้า!"

โครงสร้างลอจิก AND OR และ NOT ในโอเปอเรเตอร์แบบมีเงื่อนไข

  1. บางครั้งจำเป็นต้องจัดให้มีการปฏิบัติตามเงื่อนไขหลายประการพร้อมกัน แล้วเงื่อนไขรวมกัน ตัวดำเนินการตรรกะ AND — && :
  2. $a = 1; if ($ a> 0 || $ a> 1) (สะท้อน "a> 0 หรือ a> 1";)

  3. เพื่อแสดงว่าเงื่อนไขนั้นเป็นเท็จ ให้ใช้ ตรรกะ NOT โอเปอเรเตอร์ — ! :
  4. 1 2 3 4 $a = 1; ถ้า (! ($ a< 0 ) ) { echo "a не < 0" ; }

    $a = 1; ถ้า (! ($ a<0)) { echo "a не < 0"; }

เปลี่ยนคำสั่ง PHP

คำสั่ง switch หรือ "switch" แทนที่คำสั่ง if หลายๆ คำสั่งที่ต่อเนื่องกัน ในการทำเช่นนั้น จะเปรียบเทียบตัวแปรหนึ่งกับชุดของค่า จึงเป็นวิธีการรักษาที่สะดวกที่สุด สำหรับการจัดระเบียบหลายสาขา.

ไวยากรณ์:

1 2 3 4 5 6 7 8 9 10 สวิตช์ (ตัวแปร $) (ตัวพิมพ์ "value1": statement1; break; case "value2": statement2; break; case "value3": statement3; break; [default: statement4; break;])

สวิตช์ ($ ตัวแปร) (ตัวพิมพ์ "value1": statement1; break; case "value2": statement2; break; case "value3": statement3; break;)

  • ตัวดำเนินการสามารถตรวจสอบได้ทั้งค่าสตริง (ซึ่งในกรณีนี้จะระบุด้วยเครื่องหมายคำพูด) และตัวเลข (ไม่มีเครื่องหมายคำพูด)
  • จำเป็นต้องมีคำสั่งแบ่งในการก่อสร้าง ออกจากการก่อสร้างหากเงื่อนไขเป็นจริงและผู้ดำเนินการที่สอดคล้องกับเงื่อนไขถูกดำเนินการ โดยไม่มีการแบ่ง คำสั่งกรณีทั้งหมดจะถูกดำเนินการโดยไม่คำนึงถึงความจริงของพวกเขา

ข้าว. 3.5. คำสั่งสวิตช์แบบมีเงื่อนไข


ตัวอย่าง:อาร์เรย์ที่มีชื่อเต็มของผู้ชายจะได้รับ ตรวจสอบองค์ประกอบแรกของอาร์เรย์และออกคำทักทายด้วยชื่อย่อขึ้นอยู่กับชื่อ


สารละลาย:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $ ชื่อ = อาร์เรย์ ("อีวาน", "ปีเตอร์", "เซมยอน"); สวิตช์ ($ ชื่อ [0]) (ตัวพิมพ์ "Peter": echo "Hello, Petya!"; break; case "Ivan": echo "Hello, Vanya!"; break; case "Semyon": echo "Hello, Vanya! "; break; ค่าเริ่มต้น: echo" สวัสดี $ ชื่อ!"; หยุดพัก; )

$ ชื่อ = อาร์เรย์ ("อีวาน", "ปีเตอร์", "เซมยอน"); สวิตช์ ($ ชื่อ) (ตัวพิมพ์ "Peter": echo "Hello, Petya!"; break; case "Ivan": echo "Hello, Vanya!"; break; case "Semyon": echo "Hello, Vanya!"; break ; ค่าเริ่มต้น: echo "สวัสดี ชื่อ $!"; break;)

งาน PHP 3_4:

  • สร้างตัวแปร $ day และกำหนดค่าตัวเลขตามอำเภอใจ
  • ใช้คำสั่ง switch เพื่อส่งออกวลี "วันนี้เป็นวันทำงาน"ถ้าค่าของตัวแปร $ day อยู่ในช่วงของตัวเลขตั้งแต่ 1 ถึง 5 (รวม)
  • ส่งออกวลี "เป็นวันหยุด"ถ้าค่าของตัวแปร $ day เป็น 6 หรือ 7
  • ส่งออกวลี “ไม่รู้วัน”ถ้าค่าของตัวแปร $ day ไม่อยู่ในช่วงของตัวเลขตั้งแต่ 1 ถึง 7 (รวม)

กรอกรหัส:

1 2 3 4 5 6 7 8 9 10 11 12 ... สวิตช์ (...) (กรณีที่ 1: กรณีที่ 2: ... echo "วันนี้เป็นวันทำงาน"; หยุดพัก; กรณีที่ 6: ... ค่าเริ่มต้น: ...)

Switch (...) (กรณีที่ 1: กรณีที่ 2: ... echo "This is a working day"; break; case 6: ... default: ...)

PHP ไตรภาคโอเปอเรเตอร์

ตัวดำเนินการแบบไตรภาค, เช่น. ด้วยตัวถูกดำเนินการสามตัว มีรูปแบบที่ค่อนข้างง่าย ทางด้านซ้ายของ? เงื่อนไขถูกเขียนและทางด้านขวา - ตัวดำเนินการสองตัวคั่นด้วยเครื่องหมาย: ทางด้านซ้ายของเครื่องหมายตัวดำเนินการจะถูกดำเนินการหากเงื่อนไขเป็นจริงและทางด้านขวาของเครื่องหมาย: ตัวดำเนินการจะถูกดำเนินการหากเงื่อนไขเป็น เท็จ.

สภาพ? โอเปอเรเตอร์1: โอเปอเรเตอร์2;

12.09.2017

ไม่ใช่ตอนนี้


สวัสดีทุกคน!
เรียนรู้พื้นฐานของ PHP ตั้งแต่เริ่มต้น!
ในบทช่วยสอนนี้ ฉันจะบอกคุณเกี่ยวกับ ถ้าเงื่อนไขอื่น คำสั่งเงื่อนไข... แท้จริงแล้ว if หมายถึง "ถ้า" และ else หมายถึง "มิฉะนั้น" การสร้าง 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 ) เช่น หิมะ จากนั้นเบราว์เซอร์จะเว้นหน้าว่างไว้เนื่องจากไม่ตรงตามเงื่อนไข

→ PATTERN CODE "CONSTRUCTION if":

→ แผ่นโกง:

ความเท่าเทียมกัน: ==
ตัวอย่าง: ถ้า ($ a == $ b)

ไม่เท่ากัน:! =
ตัวอย่าง: ถ้า ($ a! = $ B)

เพิ่มเติม:>
ตัวอย่าง: ถ้า ($ a> $ b)

เล็กกว่า:<
ตัวอย่าง: ถ้า ($ a< $b)

มากกว่าหรือเท่ากับ:> =
ตัวอย่าง: ถ้า ($ a> = $ b)

น้อยกว่าหรือเท่ากับ:<=
ตัวอย่าง: ถ้า ($ a<= $b)

ตรรกะ "และ": และ
ตัวอย่าง: ถ้า ($ a == $ b และ $ c! = $ D)

ตรรกะ "หรือ": หรือ ||
ตัวอย่าง: if ($ a == $ b || $ c! = $ D)

ตอนนี้เราจะพยายามแสดงข้อความถ้าไม่เป็นไปตามเงื่อนไขคือถ้าฝนตกฉันนั่งที่บ้านถ้าฝนไม่ตกฉันจะหยิบลูกบอลและไปเล่นฟุตบอล เพื่อความเข้าใจที่ดีขึ้น มาดูรูปด้านล่าง:

ตอนนี้เราจะแปลวงจรเป็นรหัสจริง:

ผลลัพธ์:

รับบอลแล้วไปเตะบอล

⇒ คำอธิบายของรหัส:
ในเงื่อนไข ฉันเปรียบเทียบตัวแปรสภาพอากาศ $ กับค่า "ฝน" (บรรทัดที่ 3) แต่เนื่องจากฉันกำหนดค่า "sun" ให้กับตัวแปรสภาพอากาศ $ (บรรทัดที่ 2) เงื่อนไขจึงไม่เป็นไปตามนั้น ( ค่าไม่เหมือนกัน) ซึ่งหมายความว่าส่วนที่สองของรหัส (อื่น ๆ ) จะทำงาน:

อื่น (เสียงก้อง "ฉันเอาลูกบอลไปเตะบอล"; // ให้ผลถ้าเงื่อนไขไม่เป็นจริง)

→ CODE-PATTERN "CONSTRUCTION if-else":

เงื่อนไข if-else สองเท่า

ย้ายไปที่ที่ซับซ้อนมากขึ้น - เงื่อนไข if-else สองเท่า.
ลองใช้ตัวอย่างเพื่อสร้างรหัสผ่านและการตรวจสอบการเข้าสู่ระบบ

เป้า:
สร้างเงื่อนไขในการตรวจสอบการเข้าสู่ระบบและรหัสผ่าน หากรหัสผ่านหรือการเข้าสู่ระบบไม่ตรงกัน ให้แสดงข้อความแสดงข้อผิดพลาด

มาเริ่มกันเลย.
ขั้นแรก ให้สร้างตัวแปร $ logo และ $ password สองตัวแปรด้วยค่าที่สอดคล้องกัน:

โปรดสังเกตว่าในคำสั่ง เราแยกตัวแปรทั้งสองด้วยตัวดำเนินการ "AND" ซึ่งหมายความว่าสองตัวแปรจะต้องถูกต้องเพื่อให้เป็นไปตามเงื่อนไข แต่เนื่องจากเงื่อนไขของเราไม่ตรงกับรหัสผ่าน (ซิงค์ # 4) หมายความว่าเงื่อนไขนั้นไม่ถูกต้อง และคุณจะเห็นข้อความต่อไปนี้บนหน้าจอ:

เข้าสู่ระบบหรือรหัสผ่านไม่ถูกต้อง

หากคุณเปลี่ยนค่าของตัวแปรรหัสผ่าน $ เป็น "123" (บรรทัด # 3) เงื่อนไขจะเป็นไปตามเงื่อนไขทั้งหมด (บรรทัด # 4):

ผลลัพธ์:

ยินดีต้อนรับสู่แผงผู้ดูแลระบบ

โครงสร้าง if-else ที่ซ้อนกัน

การก่อสร้างซ้อนกัน- นี่คือเมื่อมีโครงสร้างอื่นอยู่ภายในโครงสร้าง อธิบายไม่ค่อยชัด? ไม่สำคัญหรอก คุณจะเข้าใจทุกอย่างด้วยตัวอย่าง

เป้า:
สร้างเงื่อนไขในการตรวจสอบการเข้าสู่ระบบและรหัสผ่าน หากรหัสผ่านหรือการเข้าสู่ระบบไม่ตรงกัน แสดงข้อความแสดงข้อผิดพลาด หากตรงกัน ให้ตรวจสอบคำลับ หากคำลับไม่ตรงกัน ให้แสดงข้อความแสดงข้อผิดพลาด หากตรงกัน ให้แสดงข้อความ " ยินดีต้อนรับสู่แผงผู้ดูแลระบบ ".

มาเริ่มกันเลย:

ขั้นแรก ให้สร้างตัวแปรสามตัว $ โลโก้ $ รหัสผ่าน และ $ x ด้วยค่าที่เกี่ยวข้อง:

ตอนนี้ มาสร้างเงื่อนไขคู่เพื่อทดสอบ $ โลโก้และ $ ตัวแปรรหัสผ่าน:

ตอนนี้ภายใต้ความคิดเห็น " // จะมีอีกหนึ่งเงื่อนไขกับคำลับ "(บรรทัดที่ 7) เขียนอีกอัน โครงสร้าง if-elseด้วยเงื่อนไขการตรวจสอบตัวแปร $ x:

เนื่องจากคำลับไม่ถูกต้อง (บรรทัดที่ 8) หน้าจอจะแสดงข้อความ:

คำลับผิด

หากคุณแทนที่ค่าของตัวแปร $ x ด้วย "BlogGOOD" คำลับก็เป็นจริงเช่นกัน:

เนื่องจากการเข้าสู่ระบบและรหัสผ่านถูกต้อง ซึ่งหมายความว่าเป็นไปตามเงื่อนไข ส่วนแรกของรหัสจึงทำงาน ซึ่งจำเป็นต้องตรวจสอบคำลับ เนื่องจากคำลับถูกต้องตามเงื่อนไข คุณจะเห็นข้อความบนหน้าจอ:

ยินดีต้อนรับสู่แผงผู้ดูแลระบบ

→ รหัสรูปแบบ "NESTED CONSTRUCTION if-else":

คำสั่งเงื่อนไข Elseif

Elseif constructคือการรวมกันของคำสั่ง if และ else ที่จะช่วยให้คุณตรวจสอบเงื่อนไขต่างๆ ได้ติดต่อกัน

ไวยากรณ์:

หมายเหตุ ในบรรทัด # 6 และ # 10 คำสองคำจะถูกเขียนรวมกันเป็นพิเศษ "elseif" หากคุณแยกคำเหล่านั้นด้วยการเว้นวรรค "else if" รหัสจะทำให้เกิดข้อผิดพลาด

ให้โค้ดการทำงานกับบทช่วยสอนการเขียนโปรแกรมที่เลือกสรรมา

ผลลัพธ์:

คุณสั่ง PHP กวดวิชา

วิธี elseif สามารถเขียนในลักษณะเดียวกันได้ ซ้อนกันถ้าสร้างอย่างอื่น:

ผลลัพธ์เหมือนกัน แต่สับสนง่ายกว่า (ฉันสับสน 2 ครั้งในรหัสของตัวเอง)

นอกเหนือจากบทเรียน (คุณไม่จำเป็นต้องรู้):

มีอีกหลายตัวเลือกสำหรับวิธีเขียน if else ( ไวยากรณ์ทางเลือก).
ฉันจะเตรียมบทเรียนทั้งหมดเกี่ยวกับไวยากรณ์ทางเลือก ซึ่งฉันจะอธิบายและแสดงทุกอย่าง สำหรับตอนนี้เพียงแค่ข้ามสายตาของคุณ
รหัส # 1:

ตัวแปร "$ a" มีค่า 15

การบ้าน:
ลองแทนที่ความไม่เท่าเทียมกัน (! =) แทนความเท่าเทียมกัน (==) ในเงื่อนไขหรือลองใช้เครื่องหมายที่มากกว่าน้อยกว่า:

และแทนที่โอเปอเรเตอร์ "AND" ด้วย "OR"

ทุกคน ฉันรอคุณอยู่ในบทเรียนต่อไป! สมัครสมาชิกเพื่ออัปเดตบล็อก!

โพสต์ก่อนหน้า
โพสต์ถัดไป

(PHP 4, PHP 5, PHP 7)

Elseifตามชื่อของมัน คือ การรวมกันของ ถ้าและ อื่น... ชอบ อื่น, มันขยาย an ถ้าคำสั่งเพื่อดำเนินการคำสั่งอื่นในกรณีที่ต้นฉบับ ถ้านิพจน์ประเมินถึง เท็จ... อย่างไรก็ตามไม่เหมือน อื่น, มันจะดำเนินการนิพจน์ทางเลือกนั้นก็ต่อเมื่อ Elseifนิพจน์เงื่อนไขประเมินถึง จริง... ตัวอย่างเช่น รหัสต่อไปนี้จะแสดง a มากกว่า b, a เท่ากับ b หรือ a น้อยกว่า b:

ถ้า ($ a> $ b) (
echo "a มากกว่า b";
) elseif ($ a == $ b) (
echo "a เท่ากับ b";
) อื่น (
echo "a น้อยกว่า b";
}
?>

อาจมีหลายอย่าง Elseifภายในเดียวกัน ถ้าคำแถลง. ครั้งแรก Elseifนิพจน์ (ถ้ามี) ที่ประเมินถึง จริงจะถูกประหารชีวิต ใน PHP คุณยังสามารถเขียน "else if" (ในสองคำ) และลักษณะการทำงานจะเหมือนกับ "elseif" (ในคำเดียว) ความหมายวากยสัมพันธ์แตกต่างกันเล็กน้อย (ถ้าคุณ "คุ้นเคยกับ C นี่เป็นพฤติกรรมเดียวกัน) แต่สิ่งที่สำคัญที่สุดคือทั้งสองจะส่งผลให้มีพฤติกรรมเหมือนกันทุกประการ

NS Elseifคำสั่งจะดำเนินการก็ต่อเมื่อคำก่อนหน้า ถ้านิพจน์และคำนำหน้าใดๆ Elseifนิพจน์ประเมินถึง เท็จและปัจจุบัน Elseifนิพจน์ประเมินถึง จริง.

บันทึก: สังเกตว่า Elseifและ ถ้าจะถือว่าเหมือนกันทุกประการเมื่อใช้วงเล็บปีกกาตามตัวอย่างด้านบนเท่านั้น เมื่อใช้โคลอนเพื่อกำหนดของคุณ ถ้า/Elseifเงื่อนไขห้ามแยก ถ้าเป็นสองคำ มิฉะนั้น PHP จะล้มเหลวโดยมีข้อผิดพลาดในการแยกวิเคราะห์

/ * วิธีที่ไม่ถูกต้อง: * /
ถ้า ($ a> $ b):
else if ($ a == $ b): // จะไม่คอมไพล์
เสียงก้อง "บรรทัดด้านบนทำให้เกิดข้อผิดพลาดในการแยกวิเคราะห์";
เอนดิฟ;

/ * วิธีที่ถูกต้อง: * /
ถ้า ($ a> $ b):
ก้อง $a. "มีค่ามากกว่า" $ ข;
elseif ($ a == $ b): // สังเกตการผสมคำ
ก้อง $a. เท่ากับ $ ข;
อื่น:
ก้อง $a. "ไม่มากกว่าหรือเท่ากับ"... $ ข;
เอนดิฟ;