수색…
제어 구조의 대체 구문
PHP는 if
, while
, for
, foreach
및 switch
와 같은 일부 제어 구조에 대한 대체 구문을 제공합니다.
통상 구에 비해 차이가 개구부 브레이스는 콜론으로 대체되는 경우 ( :
) 및 폐쇄 중괄호로 대체 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;
동안
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";
}
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
.
포함시키다 & 요구하다
요구하다
require
는 include
와 비슷하지만 실패시 치명적인 E_COMPILE_ERROR
수준 오류가 발생 E_COMPILE_ERROR
. require
가 실패하면 스크립트를 중단합니다. include
실패하면 스크립트를 중단하지 않고 E_WARNING
만 방출합니다.
require 'file.php';
포함
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';
이 방법을 사용하면 포함 된 파일이 변경되거나 추가 된 변수로 현재 범위를 오염시키지 않습니다.
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
elseif
는 if
와 else
결합 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";
}
스위치
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
구조를 참조 스위치 놀라움을