수색…


제어 구조의 대체 구문

PHP는 if , while , for , foreachswitch 와 같은 일부 제어 구조에 대한 대체 구문을 제공합니다.

통상 구에 비해 차이가 개구부 브레이스는 콜론으로 대체되는 경우 ( : ) 및 폐쇄 중괄호로 대체 endif; , endwhile; , endfor; , endforeach; , 또는 endswitch; 로 나타났다. 개별 예제 는 제어 구조의 대체 구문에 대한 항목을 참조하십시오.

if ($a == 42):
    echo "The answer to life, the universe and everything is 42.";
endif;

짧은 구문을 사용하는 여러 개의 elseif 문 :

if ($a == 5):
    echo "a equals 5";
elseif ($a == 6):
    echo "a equals 6";
else:
    echo "a is neither 5 nor 6";
endif;

PHP Manual - 제어 구조 - 대체 구문

동안

while 루프는 지정된 조건이 true 인 동안 코드 블록을 반복합니다.

$i = 1;
while ($i < 10) {
    echo $i;
    $i++;
}

출력 : 123456789

자세한 내용 은 루프 항목을 참조하십시오.

해야 할 일

do-while 루프는 항상 모든 경우에 한 번씩 코드 블록을 실행 한 다음 지정된 조건이 참인 한 해당 코드 블록을 반복합니다.

$i = 0;
do {
    $i++;
    echo $i;
} while ($i < 10);

Output: `12345678910`

자세한 내용 은 루프 항목을 참조하십시오.

고토

goto 연산자를 사용하여 프로그램의 다른 섹션으로 이동할 수 있습니다. PHP 5.3부터 사용할 수 있습니다.

goto 명령은 goto 다음에 원하는 대상 레이블 goto MyLabel; .

점프 대상은 콜론 : MyLabel: 뒤에 레이블이 지정됩니다.

이 예제는 Hello World! :

<?php
goto MyLabel;
echo 'This text will be skipped, because of the jump.';
 
MyLabel:
echo 'Hello World!';
?>

알리다

declare 는 코드 블록에 대한 실행 지시문을 설정하는 데 사용됩니다.

다음 지시문을 사용할 수 있습니다.

예를 들어 틱을 1로 설정합니다.

declare(ticks=1);

엄격한 유형 모드를 사용하려면 declare 문을 strict_types 선언과 함께 사용합니다.

declare(strict_types=1);

다른 경우라면

위의 예에서 if 문은 조건이 충족 될 때 코드 단편을 실행할 수있게합니다. 코드 조각을 실행하려면 조건이 충족되지 else if 와 함께 확장합니다.

if ($a > $b) {
  echo "a is greater than b";
} else {
  echo "a is NOT greater than b";
}

PHP Manual - 컨트롤 구조 - 다른 것

if-else에 대한 간단한 구문으로 삼항 연산자

삼항 연산자 는 조건이 참인지 아닌지에 따라 무언가를 평가합니다. 비교 연산자이며 간단한 if-else 조건을 표현하는 데 자주 사용됩니다. 조건을 신속하게 테스트 할 수 있으며 여러 줄로 된 if 문을 대체하여 코드를 더 간결하게 만듭니다.

위의 예제에서 삼항 표현식과 변수 값을 사용합니다 : $a=1; $b=2;

echo ($a > $b) ? "a is greater than b" : "a is NOT greater than b";

출력 : a is NOT greater than b .

포함시키다 & 요구하다

요구하다

requireinclude 와 비슷하지만 실패시 치명적인 E_COMPILE_ERROR 수준 오류가 발생 E_COMPILE_ERROR . require 가 실패하면 스크립트를 중단합니다. include 실패하면 스크립트를 중단하지 않고 E_WARNING 만 방출합니다.

require 'file.php';

PHP Manual - 제어 구조 - 요구 사항

포함

include 문은 파일을 포함하고 평가합니다.

./variables.php

$a = 'Hello World!';

./ main.php`

include 'variables.php';
echo $a;
// Output: `Hello World!`

포함 된 파일은 주어진 범위에서 정의 된 변수의 양과 내용을 변경하기 때문에이 접근법은 코드 냄새 로 간주되므로주의해야합니다.


값을 반환하는 file도 include 할 수 있습니다. 이는 구성 배열 처리에 매우 유용합니다.

configuration.php

<?php 
return [
    'dbname' => 'my db',
    'user' => 'admin',
    'pass' => 'password',
];

main.php

<?php
$config = include 'configuration.php';

이 방법을 사용하면 포함 된 파일이 변경되거나 추가 된 변수로 현재 범위를 오염시키지 않습니다.

PHP Manual - 제어 구조 - 포함


include 및 require 는 파일에 의해 반환 될 때 변수에 값을 할당하는 데 사용될 수도 있습니다.

예 :

include1.php 파일 :

<?php
    $a = "This is to be returned";

    return $a;
?>

index.php 파일 :

    $value = include 'include1.php';
   // Here, $value = "This is to be returned"

반환

return 문은 프로그램 컨트롤을 호출 함수에 반환합니다.

함수 내에서 return 이 호출되면 현재 함수의 실행이 종료됩니다.

function returnEndsFunctions()
{
   echo 'This is executed';
   return;
   echo 'This is not executed.';
}

returnEndsFunctions(); 를 실행할 때 returnEndsFunctions(); 당신은 출력을 얻을 것이다 This is executed ;

인수가 and 인 함수 내에서 return 이 호출되면 현재 함수의 실행이 종료되고 인수 값이 호출 함수로 리턴됩니다.

...에 대한

for 루프는 일반적으로 주어진 횟수만큼 반복하려는 코드가있을 때 사용됩니다.

for ($i = 1; $i < 10; $i++) {
    echo $i;
}

출력 : 123456789

자세한 내용 은 루프 항목을 참조하십시오.

각각

foreach 는 배열 및 객체를 반복 할 수있게 해주는 구조체입니다.

$array = [1, 2, 3];
foreach ($array as $value) {
    echo $value;
}

출력 : 123 .

foreach 루프를 객체와 함께 사용하려면 Iterator 인터페이스를 구현해야합니다.

연관 배열을 반복 할 때 :

$array = ['color'=>'red']; 

foreach($array as $key => $value){
    echo $key . ': ' . $value; 
}

출력 : color: red

자세한 내용 은 루프 항목을 참조하십시오.

elseif 경우

elseif

elseififelse 결합 if . 원래 if 표현식이 충족되지 않을 if 를 대비하여 if 문이 확장되어 다른 명령문을 실행합니다. 그러나 elseif 조건식이 충족 될 때만 대체 표현식이 실행됩니다.

다음 코드는 "a가 b보다 큼", "a는 b와 같음"또는 "a가 b보다 작음"중 하나를 표시합니다.

if ($a > $b) {
    echo "a is bigger than b";
} elseif ($a == $b) {
    echo "a is equal to b";
} else {
    echo "a is smaller than b";
}

여러 개의 elseif 문

동일한 if 문 내에서 여러 개의 elseif 문을 사용할 수 있습니다.

if ($a == 1) {
    echo "a is One";
} elseif ($a == 2) {
    echo "a is Two";
} elseif ($a == 3) {
    echo "a is Three";
} else {
    echo "a is not One, not Two nor Three";
}

만약

if 구조는 코드 조각의 조건부 실행을 허용합니다.

if ($a > $b) {
  echo "a is bigger than b";
}

PHP Manual - 컨트롤 구조체 - If

스위치

switch 구조는 일련의 if 문과 동일한 기능을 수행하지만 더 적은 코드 행에서 작업을 수행 할 수 있습니다. switch 문에 정의 된대로 테스트 할 값은 일치 항목이 발견되어 해당 블록의 코드가 실행될 때까지 각 case 문의 값과 동일한 지 비교됩니다. 일치하는 case 문을 찾지 못하면 default 블록의 코드가 실행됩니다 (있는 경우).

case 또는 default 문에서 각 코드 블록은 break 문으로 끝나야합니다. 이렇게하면 switch 구조의 실행이 중지되고 즉시 코드 실행이 계속됩니다. break 문이 생략되면 일치하는 것이 없더라도 다음 case 문의 코드가 실행됩니다. break 문을 잊어 버린 경우 예기치 않은 코드 실행이 발생할 수 있지만 여러 case 문에서 동일한 코드를 공유해야하는 case 에도 유용합니다.

switch ($colour) {
case "red":
    echo "the colour is red";
    break;
case "green":
case "blue":
    echo "the colour is green or blue";
    break;
case "yellow":
    echo "the colour is yellow";
    // note missing break, the next block will also be executed
case "black":
    echo "the colour is black";
    break;
default:
    echo "the colour is something else";
    break;
}

고정 값을 테스트하는 것 외에도 switch 문에 부울 값을 제공하고 case 문에 식을 제공하여 구문을 동적 명령문을 테스트하도록 강제 할 수 있습니다. 첫 번째 일치하는 값이 사용되므로 다음 코드는 "100 이상"을 출력합니다.

$i = 1048;
switch (true) {
case ($i > 0):
    echo "more than 0";
    break;
case ($i > 100):
    echo "more than 100";
    break;
case ($i > 1000):
    echo "more than 1000";
    break;
}

사용하는 동안 느슨한 입력과 가능한 문제를 들어 switch 구조를 참조 스위치 놀라움을



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow