PHP ถ้าตัวอย่างอื่น ถ้าและเงื่อนไขอื่น ๆ การเลือกเริ่มต้น

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

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

ถ้า (/*เงื่อนไขที่จะตรวจสอบ*/) ( /*body ของตัวดำเนินการเลือก 1*/; ) else ( /*body ของตัวดำเนินการเลือก 2*/; )

ข้อความมีข้อความดังนี้: “หากเงื่อนไขที่กำลังทดสอบเป็นจริง เลือกเนื้อหาคำสั่ง 1มิฉะนั้น (นั่นคือ เงื่อนไขที่กำลังทดสอบเป็นเท็จ) จะเป็นที่น่าพอใจ เลือกเนื้อหาคำสั่งที่ 2- ให้ความสนใจกับวิธีการเขียนคำสั่ง if else คำว่า 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 << endl; } else // иначе { cout << a << " <= " << b << endl; } system("pause"); return 0; }

>ข;ถ้า (a >= b) // ถ้า a มากกว่าหรือเท่ากับ b แล้ว ( coutในรหัสนี้เราสนใจบรรทัดที่ 14-20 - บรรทัดเหล่านี้อ่านดังนี้: ถ้า(ตัวเลขแรก) มากกว่าหรือเท่ากับ

(หมายเลขที่สอง) จากนั้นดำเนินการคำสั่งเอาต์พุตใน<< a << " >= " << b << endl;

บรรทัดที่ 16 คูท

(หมายเลขที่สอง) จากนั้นดำเนินการคำสั่งเอาต์พุตใน<< a << " <= " << b << endl;

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

(หมายเลขที่สอง) จากนั้นดำเนินการคำสั่งเอาต์พุตใน<< a << " < " << b << endl; // в кавычках записать не меньше или равно, а просто меньше.

บรรทัดที่ 19

คุณต้องเขียนแบบนี้

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

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

รูปที่ 1 - คำสั่งการเลือกถ้ามี
ฉันขอแสดงอีกตัวอย่างหนึ่งของการใช้คำสั่ง if else Selection (ที่เรียกว่าคำสั่ง if else แบบซ้อนสำหรับการเลือกหลายรายการ)<0; у=0, при 0<=х<30; у=х 2 , при х>=30;

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

ถ้า(x
= 0) && (x< 0 ;
= 30) ( y = x * x; // ดำเนินการถ้า x มากกว่าหรือเท่ากับ 30 ) ) ) cout
มีสามกรณีที่เป็นไปได้ในปัญหานี้:

กรณีที่ 1: x บรรทัดที่ 17รายการดังกล่าว: if ((x >= 0) && (x< 30)) , ฉันใช้สัญลักษณ์ && - นี่คือ . การดำเนินการเชิงตรรกะ และ&& จำเป็นต้องรวมเงื่อนไขง่ายๆ หลายเงื่อนไขให้เป็นเงื่อนไขผสมเดียว ในกรณีของเรา จำเป็นต้องตรวจสอบความจริงของเงื่อนไขสองข้อ: เงื่อนไขแรก – x >= 0 เงื่อนไขที่สอง – x< 30 . Все проверяемое условие будет истинно, если истинны два простых условия. В математике правильной записью считается такая запись: 0 <= x < 30 , а в С++ правильной записью считается вот такая запись: (x >ใช้เนมสเปซมาตรฐาน; int main(int argc, char* argv) ( int x, y; ศาล< 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)

ถ้าสร้าง

ไวยากรณ์การก่อสร้าง ถ้าการออกแบบที่คล้ายกัน ถ้าในภาษาซี:

คำสั่ง if (นิพจน์บูลีน);
?>

ตามสำนวน PHP การก่อสร้าง ถ้ามีนิพจน์บูลีน ถ้านิพจน์บูลีนเป็นจริง ( จริง) จากนั้นให้ผู้ดำเนินการติดตามการก่อสร้าง ถ้าจะถูกดำเนินการ และหากนิพจน์เชิงตรรกะเป็นเท็จ ( เท็จ) จากนั้นอันถัดไปหลังจากนั้น ถ้าคำสั่งจะไม่ถูกดำเนินการ นี่คือตัวอย่างบางส่วน:

ถ้า ($a > $b) สะท้อน "ค่าของ a มากกว่า b";
?>

ในตัวอย่างต่อไปนี้หากเป็นตัวแปร $กไม่เท่ากับศูนย์ สตริง “ค่าของ a เป็นจริง” จะถูกพิมพ์:

ถ้า ($a) สะท้อน "ค่าของ a เป็นจริง";
?>

ในตัวอย่างต่อไปนี้ ถ้า $a เป็นโมฆะ สตริง "ค่าของ a เป็นเท็จ" จะถูกพิมพ์:

ถ้า (!$a ) สะท้อน "ค่าของ a เป็นเท็จ";
?>

บ่อยครั้งที่คุณจะต้องมีกลุ่มคำสั่งที่จะดำเนินการภายใต้เกณฑ์เงื่อนไขที่กำหนด จากนั้นคำสั่งเหล่านี้จะต้องอยู่ในวงเล็บปีกกา {...} ตัวอย่าง:

ถ้า ($a > $b) (
echo "a มากกว่า b" ;
$ข = $a ;
}
?>

ตัวอย่างข้างต้นจะแสดงข้อความ "a มากกว่า b" ถ้า $ก > $ขแล้วก็ตัวแปร $กจะเท่ากับตัวแปร $ข- โปรดทราบว่าตัวดำเนินการเหล่านี้ถูกดำเนินการใน ถ้า.

ถ้า (boolean_expression):
ทีม;
elseif(other_logic_expression):
อื่นๆ_คำสั่ง;
อื่น:
else_commands;
สิ้นสุด

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

มิฉะนั้นถ้าสร้าง

อย่างอื่นเป็นการผสมผสานระหว่างการออกแบบ ถ้าและ อื่น- การก่อสร้างนี้ขยายการก่อสร้างแบบมีเงื่อนไข ถ้า-อย่างอื่น.

นี่คือไวยากรณ์ของการก่อสร้าง: อย่างอื่น:

ถ้า (boolean_expression_1)
ตัวดำเนินการ_1;
อย่างอื่น (boolean_expression_2)
ตัวดำเนินการ_2;
อื่น
ตัวดำเนินการ_3;

ตัวอย่างการใช้งานจริงของการออกแบบ อย่างอื่น:

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

( PHP 4, PHP 5, PHP 7)

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

ถ้า ($a > $b) (
echo "a ใหญ่กว่า b" ;
) elseif ($a == $b ) (
echo "a เท่ากับ b" ;
) อื่น (
echo "a เล็กกว่า b" ;
}
?>

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

ที่ อย่างอื่นคำสั่งจะถูกดำเนินการเฉพาะในกรณีก่อนหน้า ถ้าการแสดงออกและก่อนหน้าใด ๆ อย่างอื่นนิพจน์ประเมินเป็น เท็จและกระแส อย่างอื่นการแสดงออกประเมินเป็น จริง.

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

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

/* วิธีการที่ถูกต้อง: */
ถ้า ($a > $b):
เสียงสะท้อน $a "ยิ่งใหญ่กว่า" $ข ;
elseif ($a == $b): // สังเกตการรวมกันของคำ
เสียงสะท้อน $a "เท่ากับ" $ข ;
อื่น:
เสียงสะท้อน $a “ไม่มากกว่าหรือเท่ากับ”- $ข ;
สิ้นสุด;

บทเรียนจะครอบคลุมถึงตัวดำเนินการ PHP แบบมีเงื่อนไข ได้แก่ คำสั่ง if และคำสั่ง switch

คำสั่งแบบมีเงื่อนไขของ PHP จะแสดงด้วยโครงสร้างหลักสามประการ:

  • ผู้ดำเนินการตามเงื่อนไข ถ้า,
  • ตัวดำเนินการสวิตช์ สวิตช์
  • และ ตัวดำเนินการที่ประกอบไปด้วย.

เรามาดูแต่ละรายการกันดีกว่า

PHP ถ้าคำสั่ง

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


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


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

สรุป:

ไวยากรณ์แบบเต็ม:

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

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

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

ข้าว. 3.4. คำสั่งแบบมีเงื่อนไข If และ Endif ใน php.ini

ตัวอย่าง:

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

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

การดำเนินการทางลอจิคัลในสภาวะ

เงื่อนไข if ในวงเล็บอาจมีการดำเนินการต่อไปนี้:

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


สารละลาย:

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

ถ้า ($หมายเลข

ตัวอย่าง:บล็อกโค้ด PHP สามารถใช้งานไม่ได้ ลองดูตัวอย่าง: แสดงรหัส html บนหน้าจอ"เท่ากับ 4"


ถ้าตัวแปร $a เท่ากับ 4 จริงๆ
1 2 3 4

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

1 2 3 2 วิธีแก้ไข:

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 จะถือว่าตัวแปรในวงเล็บเป็นกฎโกหก:
  • Rule of LIE หรือสิ่งที่ถือว่าเป็นเท็จ: 0 )
  • ตรรกะ 0.0 )
  • เท็จศูนย์ทั้งหมด ( «0»
  • อาร์เรย์ที่ไม่มีองค์ประกอบ
  • วัตถุที่ไม่มีตัวแปร
  • ชนิดพิเศษ โมฆะ

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

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

โครงสร้างเชิงตรรกะ AND OR และ NOT ในตัวดำเนินการแบบมีเงื่อนไข

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

  3. หากต้องการระบุว่าเงื่อนไขเป็นเท็จ ให้ใช้ ตัวดำเนินการเชิงตรรกะไม่ — ! :
  4. 1 2 3 4 $a = 1 ;< 0 ) ) { echo "a не < 0" ; }

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

$a=1; ถ้า (!($a

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

สำหรับการจัดหลายสาขา

1 2 3 4 5 6 7 8 9 10 ไวยากรณ์:

สวิตช์ ($ตัวแปร) ( กรณี "value1" : ตัวดำเนินการ1 ; break ; กรณี "value2" : ตัวดำเนินการ2 ; break ; กรณี "value3" : ตัวดำเนินการ3 ; break ; [ ค่าเริ่มต้น : ตัวดำเนินการ4 ; ตัวแบ่ง ; ] )

  • สวิตช์($ตัวแปร)( กรณี "value1": โอเปอเรเตอร์1; break; กรณี "value2": โอเปอเรเตอร์2; break; กรณี "value3": โอเปอเรเตอร์3; แบ่ง; )
  • ผู้ดำเนินการสามารถตรวจสอบทั้งค่าสตริง (จากนั้นระบุในเครื่องหมายคำพูด) และค่าตัวเลข (โดยไม่ต้องใส่เครื่องหมายคำพูด)

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


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


สารละลาย:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 มีการกำหนดอาร์เรย์ที่มีชื่อเต็มเป็นชาย ตรวจสอบองค์ประกอบแรกของอาร์เรย์ และแสดงคำทักทายด้วยชื่อย่อ ทั้งนี้ขึ้นอยู่กับชื่อ $names = array ("อีวาน" , "ปีเตอร์" , "เซมยอน" ) ; switch ($ชื่อ [ 0 ] ) ( case "Peter" : echo "Hello, Petya!" ; break ; case "Ivan" : echo "Hello, Vanya!" ; break ; case "Semyon" : echo "สวัสดี Vanya! " ; break ; default : echo "สวัสดี

$ชื่อ!"

- หยุดพัก ; -

  • $names=array("อีวาน", "ปีเตอร์", "เซมยอน"); switch($names)( case "Peter": echo "Hello, Petya!"; break; case "Ivan": echo "Hello, Vanya!"; break; case "Semyon": echo "Hello, Vanya!"; แตก ; ค่าเริ่มต้น: echo "สวัสดี $names!";
  • งาน 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 : ... echo "เป็นวันทำงาน"- หยุดพัก ; กรณีที่ 6 : ... ค่าเริ่มต้น : ... )

Switch(...)( กรณีที่ 1: กรณีที่ 2: ... echo "นี่คือวันทำงาน"; หยุด; กรณีที่ 6: ... ค่าเริ่มต้น: ... )

ตัวดำเนินการแบบไตรภาคของ PHP

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

เงื่อนไข? ตัวดำเนินการ1 : ตัวดำเนินการ2 ;
3.6K

ในบทความนี้ เราจะอธิบายวิธีใช้คำสั่ง if...else...and elseif ของ PHP

คำสั่งแบบมีเงื่อนไข PHP

PHP มีโอเปอเรเตอร์หลายตัวที่สามารถใช้เพื่อการตัดสินใจ:

  • คำสั่ง if;
  • ตัวดำเนินการถ้า ... อื่น;
  • คำสั่ง if … elseif … อื่น ;
  • สลับ…คำสั่งกรณี

เราจะดูตัวดำเนินการแต่ละรายด้านล่างนี้

ถ้าคำสั่ง

คำสั่ง if (like PHP อื่น ๆ) ใช้เพื่อดำเนินการบล็อกของโค้ดเฉพาะเมื่อเงื่อนไขที่ระบุประเมินเป็นจริง นี่เป็นคำสั่งเงื่อนไข PHP ที่ง่ายที่สุดและสามารถเขียนได้ดังนี้:

if(condition)( // รหัสที่ปฏิบัติการได้)

ขอให้มีวันหยุดสุดสัปดาห์ที่ดี!“ถ้าวันนี้เป็นวันศุกร์:

ตัวอย่าง:

ถ้า...คำสั่งอื่น

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

สามารถเขียนได้ดังนี้:

if(condition)( // รหัสที่จะดำเนินการหากเงื่อนไขเป็นจริง) else( // รหัสที่จะดำเนินการหากเงื่อนไขเป็นเท็จ)

รหัสด้านล่างส่งออก " ขอให้มีวันหยุดสุดสัปดาห์ที่ดี!“ถ้าวันนี้เป็นวันศุกร์ มิฉะนั้นจะแสดงข้อความ “Have a nice day! -

ตัวอย่าง:

ถ้า…elseif…elseคำสั่ง

if...elseif...else โอเปอเรเตอร์ ( เพื่อไม่ให้สับสนกับ PHP อย่างอื่น) ใช้เพื่อรวมคำสั่ง if...else หลายคำสั่งเข้าด้วยกัน

if(condition)( // รหัสที่จะดำเนินการหากเงื่อนไขเป็นจริง) elseif(condition)( // รหัสที่จะดำเนินการหากเงื่อนไขเป็นจริง) else( // รหัสที่จะดำเนินการหากเงื่อนไขเป็นเท็จ )

รหัสด้านล่างส่งออก " ขอให้มีวันหยุดสุดสัปดาห์ที่ดี!” ถ้าวันนี้เป็นวันศุกร์หรือ “สุขสันต์วันอาทิตย์!” ถ้าวันนี้เป็นวันอาทิตย์ มิฉะนั้นจะแสดงข้อความ “Have a nice day! -

ตัวอย่าง:

ตัวดำเนินการแบบไตรภาค

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

เพื่อให้เข้าใจถึงวิธีการทำงานของตัวดำเนินการนี้ ให้พิจารณาตัวอย่างต่อไปนี้:

ตัวอย่าง:

การใช้ตัวดำเนินการแบบไตรภาคสามารถเขียนโค้ดเดียวกันให้กระชับยิ่งขึ้น:

ตัวอย่าง:

ตัวดำเนินการแบบไตรภาคในตัวอย่างด้านบนจะเลือกค่าทางด้านซ้ายของโคลอน (เช่น "Child") หากเงื่อนไขประเมินเป็นจริง (เช่น ถ้า $อายุน้อยกว่า 18) และค่าทางด้านขวาของโคลอน (เช่น "ผู้ใหญ่") หากเงื่อนไขประเมินเป็น false

บันทึก: โค้ดที่เขียนโดยใช้ตัวดำเนินการแบบไตรภาคอาจอ่านได้ยาก อย่างไรก็ตาม มีวิธีเขียนคำสั่ง if-else และ elseif ของ PHP อย่างกะทัดรัด

ตัวดำเนินการรวมศูนย์ใน PHP7

PHP 7 เปิดตัวโอเปอเรเตอร์การรวมศูนย์ใหม่ (??) ซึ่งสามารถใช้เป็นชวเลขสำหรับโอเปอเรเตอร์ที่ประกอบไปด้วยสามส่วนร่วมกับฟังก์ชัน isset()