แหล่งข้อมูลบางแห่งกล่าวว่าคำสั่ง 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" #รวม
>ข;ถ้า (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;
สภาพปัญหา:
ถ้า(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 ในตัวดำเนินการแบบมีเงื่อนไข
- บางครั้งจำเป็นต้องจัดให้มีการปฏิบัติตามเงื่อนไขหลายประการพร้อมกัน จากนั้นนำเงื่อนไขมารวมกัน ตัวดำเนินการเชิงตรรกะ AND — && :
- หากต้องการระบุว่าเงื่อนไขเป็นเท็จ ให้ใช้ ตัวดำเนินการเชิงตรรกะไม่ — ! :
$a=1; ถ้า ($a>0 || $a>1) ( echo "a > 0 หรือ a > 1"; )
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
ตัวดำเนินการแบบไตรภาค, เช่น. ด้วยตัวถูกดำเนินการสามตัว มีไวยากรณ์ที่ค่อนข้างง่าย โดยอยู่ทางด้านซ้ายของ ? มีการเขียนเงื่อนไข และทางด้านขวามีตัวดำเนินการสองตัวคั่นด้วยเครื่องหมาย: ทางด้านซ้ายของเครื่องหมายตัวดำเนินการจะถูกดำเนินการหากเงื่อนไขเป็นจริง และทางด้านขวาของเครื่องหมาย: ตัวดำเนินการจะถูกดำเนินการหากเงื่อนไขเป็น เท็จ.
3.6K
เงื่อนไข? ตัวดำเนินการ1 : ตัวดำเนินการ2 ;
ในบทความนี้ เราจะอธิบายวิธีใช้คำสั่ง 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()