
조건문은 코드 불록을 실행할지를 결정하기 위해 조건을 테스트한다.
조건문의 종류는 다음과 같다
- if 문
- if ... else 문
- 삼항 연산자(if ... else 문의 간단 표현식)
- if ... elseif 문
- swith 문
- match 표현식
<?php $day = 'Monday'; switch ($day) { case 'Monday': $offer = '20% off chocolates'; break; case 'Tuesday'; $offer = '20% off mints'; break; default: $offer = 'Buy three packs, get one free'; } ?> <!DOCTYPE html> <head> <title>Variables</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <h1>The Candy Store</h1> <h2>Offers on <?= $day; ?></h2> <p><?= $offer ?></p> </body> </html>
결과

break는 PHP 인터프리터에 switch 구문의 끝으로 가도록 지시하며, 마지막 옵션인 default 옵션 다음에는 break가 오지 않는다.
<?php $day = 'Monday'; $offer = match ($day) { 'Monday' => '20% off chocolates', 'Saturday', 'Sunday' => '20% off mints', default => '10% off your entire order', } ?> <!DOCTYPE html> <head> <title>Variables</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <h1>The Candy Store</h1> <h2>Offers on <?= $day; ?></h2> <p><?= $offer ?></p> </body> </html>
결과

match 표현식은 엄격한 타입 비교를 사용하며 타입 저글링을 하지 않는다.
마지막에는 default를 사용하며, 매칭되는 것이 없는데 default도 없다면 오류가 발생한다.
출처 - 존 두켓, <백엔드 프로그래밍을 위한 PHP & MySQL>, Jpub, 2022