> 백엔드 개발 > PHP 문제 > PHP 판단문 작성 방법

PHP 판단문 작성 방법

青灯夜游
풀어 주다: 2023-03-11 15:26:01
원래의
6483명이 탐색했습니다.

쓰기: 1. "if (조건) {문 블록;} else if (조건) {문 블록;} else {문 블록;}"; 2. "switch (표현식) {case 값 1: 문 블록; break ;...case 값 n: 명령문 블록;break;기본값: 명령문 블록;}".

PHP 판단문 작성 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

프로그램 개발 과정에서 상황에 따라 다른 코드를 실행해야 하는 경우가 많습니다. 조건부 판단이 필요합니다. PHP에서는 조건부 판단을 위해 if 또는 스위치를 사용할 수 있습니다. 실제 시나리오에 따라 해당 조건문을 선택해야 합니다.

1 if else 문이 실행되는 경우 프로세스 제어의 조건부 판단에 관한 것입니다. 이 명령문이 실행되면 먼저 조건을 판단한 후 판단 결과에 따라 해당 연산을 수행합니다. 문, 즉 세 가지 유형으로 나눌 수 있습니다.

1) if 조건문 if 语句、if...else 语句、if...else if...else

if 문은 가장 간단한 프로세스 제어 유형입니다. 특정 조건이 참인지만 판단하고, 참이면 특정 문장 블록을 실행합니다. 구문 형식은 다음과 같습니다.

if (判断条件) {
    语句块;
}
로그인 후 복사
실행해야 하는 명령문 블록에 두 개 이상의 명령문이 포함되어 있으면 { }를 사용하여 전체를 나타내야 합니다. 중괄호 표시를 생략합니다. 다음과 같습니다.

if (判断条件)
    一条语句;
로그인 후 복사

if 문의 실행 흐름은 아래 그림과 같습니다.

[예제] 배열을 정의하고 if 문을 사용하여 숫자가 짝수인지 확인합니다.

<?php
    $num = 34;
    if ($num % 2 == 0) {
        echo &#39;$num =&#39;.$num.&#39;, 是偶数!&#39;;
    }
?>
로그인 후 복사
PHP 판단문 작성 방법실행 결과는 다음과 같습니다.

$num =34, 是偶数!
로그인 후 복사

2), if...else...조건문

if 문은 판단 결과가 참인 상황에서만 연산을 수행할 수 있는데, 이는 많은 경우에 충분하지 않으므로 이 형식의 if..else 문이 있습니다. if 판단과 달리 if...else 문은 판단 결과가 참인 상황에 대한 연산을 수행할 뿐만 아니라, 판단 결과가 참이 아닌 상황에 대해서도 해당 연산을 수행할 수 있습니다. else 문은 if 문을 확장하고 if 문의 표현식 값이 FALSE일 때 해당 문을 실행할 수 있습니다. 또 한 가지 주의할 점은 else 문은 if 문의 절이므로 if 문과 함께 사용해야 하며 단독으로 존재할 수 없다는 점입니다.

if...else 문의 구문 형식은 다음과 같습니다.

if (判断条件) {
    语句块 1;
} else {
    语句块 2;
}
로그인 후 복사

위 형식에서 "판단 조건"이 true이면 "문 블록 1"이 실행되고, 그렇지 않으면 "문 블록 2"가 실행됩니다. 실행됩니다. "블록 1"과 "블록 2" 모두 여러 문을 포함할 수 있습니다. if 문과 동일하게, "statement block 1"과 "statement block 2" 모두 하나의 문만 포함하는 경우 아래와 같이 중괄호 { }를 생략할 수 있습니다.

if (判断条件)
    语句块 1;
else
    语句块 2;
로그인 후 복사

if...else 문 실행 흐름 아래 그림과 같습니다.

예제] rand() 함수를 사용하여 난수 $num을 생성한 후 해당 난수가 짝수인지 홀수인지 확인합니다.

<?php
    $num = rand(1,31);  //生成一个 1~31 之间的随机数
    if ($num % 2 == 0) {
        echo &#39;$num =&#39;.$num.&#39;, 是偶数!&#39;;
    } else {
        echo &#39;$num =&#39;.$num.&#39;, 是奇数!&#39;;
    }
?>
로그인 후 복사
PHP 판단문 작성 방법실행 중입니다. 결과는 다음과 같습니다:

$num =27, 是奇数!
로그인 후 복사

3) if...elseif...else...조건문

else if 문은 else 문과 동일하며 if 문을 확장하고 else if 문이 어떤 조건문을 결정할지 결정합니다. 다양한 표현식을 기반으로 실행할 명령문 블록입니다. PHP에서는 두 개의 else if 키워드를 함께 사용할 수도 있습니다(예: elseif). else if 문의 구문 형식은 다음과 같습니다.

if (判断条件 1) {
    语句块 1;
} else if (判断条件 2) {
    语句块 2;
} else if (判断条件 3) {
    语句块 3;
}
......
else if (判断条件 n) {
    语句块 n;
}
else{
    语句块 n+1;
}
로그인 후 복사

위 else if 구문에서 첫 번째 "판단 조건 1"이 TRUE이면 두 번째 "판단 조건 1"이면 "문 블록 1" 문이 실행됩니다. " 2"가 TRUE이면 "statement block 2" 명령문이 실행됩니다. 표현식의 조건 중 어느 것도 TRUE가 아닌 경우 else 절의 "statement block n+1" 문이 실행됩니다. 물론 마지막 else 문도 생략할 수 있습니다.

else if 문에서 하나의 표현식만 동시에 TRUE일 수 있습니다. 즉, else if 문에서는 하나의 문 블록만 실행할 수 있습니다. TRUE로 평가되는 표현식이 여러 개 있는 경우 첫 번째 표현식에 해당하는 명령문 블록만 실행됩니다.

if...else if...else if...else 문의 실행 흐름은 아래 그림과 같습니다.

[예시] 우수, 좋음, 중간, 불량 등급을 기준으로 판단합니다.

<?php
    $score = 89; 
    if ($score > 90) {
        echo &#39;成绩的级别为:优!&#39;;
    } else if ($score > 70) {
        echo &#39;成绩的级别为:良!&#39;;
    } else if ($score > 60) {
        echo &#39;成绩的级别为:中!&#39;;
    } else {
        echo &#39;成绩的级别为:差!&#39;;
    }
?>
로그인 후 복사
PHP 판단문 작성 방법실행 결과는 다음과 같습니다.

成绩的级别为:良!
로그인 후 복사

2.switch...case...조건문

switch 문은 if...와 유사합니다. else if...else 문은 분기 구조이기도 합니다. if ...else if...else 문은 switch 문보다 더 간결하고 명확합니다. switch 문은 표현식과 여러 케이스 레이블로 구성됩니다. 케이스 레이블 뒤에는 코드 블록이 옵니다. switch 문의 구문 형식은 다음과 같습니다.

switch(表达式){
    case 值 1:
        语句块 1;
        break;
    case 值 2:
        语句块 2;
        break;
    ... ...
    case 值 n:
        语句块 n;
        break;
    default:
        语句块 n+1;
}
로그인 후 복사

switch 语句根据表达式的值,依次与 case 中的值进行比较,如果不相等,继续查找下一个 case;如果相等,就会执行对应的语句,直到 switch 语句结束或遇到 break 为止。

一般来说,switch 语句最终都有一个默认值 default,如果在前面的 case 中没有找到相符的条件,则执行默认语句,和 else 语句类似。

switch 语句的执行流程如下图所示:

PHP 판단문 작성 방법

在使用 switch 语句时应该注意以下几点:

  • 和 if 语句不同的是,switch 语句后面表达式的数据类型只能是整型或字符串,不能是 bool 型。通常这个表达式是一个变量名称,虽然 PHP 是弱类型语言,在 switch 后面表达式的变量可以是任意类型数据,但为了保证匹配执行的准确性,最好只使用整型或字符串中的一种类型。

  • 和 if 语句不同的是,switch 语句后面的花括号是必须有的。

  • case 语句的个数没有规定,可以无限增加。但 case 标签和 case 标签后面的值之间应该有一个空格,值后面必须有一个冒号,这是语法的一部分。

  • switch 匹配完成以后,将依次逐条执行匹配的分支模块中的语句,直到 switch 结构结束或者遇到了 break 语句才停止执行。所以,如果一个分支语句的后面没有写上 break 语句,程序将会继续执行下一个分支语句的内容。

  • 与 if 语句中的 else 类似,switch 语句中 default 标签直接在后面加上一个冒号,看似没有条件,其实是有条件的,条件就是“表达式”的值不能与前面任何一个 case 标签后的值相等,这时才执行 default 分支中的语句。default 标签和 if 中的 else 子句一样,它不是 switch 语句中必需的,可以省略。

【示例】使用 date() 函数获取当前星期的英文缩写,根据缩写打印今天是星期几,代码如下所示:

<?php
    $week = date(&#39;D&#39;);
    switch($week){
        case &#39;Mon&#39;:
            echo &#39;星期一&#39;;
            break;
        case &#39;Tue&#39;:
            echo &#39;星期二&#39;;
            break;
        case &#39;Wed&#39;:
            echo &#39;星期三&#39;;
            break;
        case &#39;Thu&#39;:
            echo &#39;星期四&#39;;
            break;
        case &#39;Fri&#39;:
            echo &#39;星期五&#39;;
            break;
        case &#39;Sat&#39;:
            echo &#39;星期六&#39;;
            break;
        case &#39;Sun&#39;:
            echo &#39;星期日&#39;;
            break;
    }
?>
로그인 후 복사

运行结果如下:

星期四
로그인 후 복사

推荐学习:《PHP视频教程

위 내용은 PHP 판단문 작성 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿