>  기사  >  백엔드 개발  >  명령문에 대한 PHP 흐름 제어

명령문에 대한 PHP 흐름 제어

不言
不言원래의
2018-05-04 09:38:431500검색

이 글은 주로 PHP 프로세스 제어에 대한 for 문을 소개합니다. 이제는 모든 사람과 공유합니다.

이 글은 기본 학습을 위한 것입니다. 이 페이지를 닫아주세요

이 글을 읽는 데 7분이 걸립니다. 이해하기 어렵나요?

(PHP 4, PHP 5, PHP 7)

for Loop는 PHP에서 가장 복잡한 루프 구조입니다. 그 동작은 C 언어의 동작과 유사합니다. for 루프의 구문은 다음과 같습니다.

for (expr1; expr2; expr3)
    statement

첫 번째 표현식()은 루프가 시작되기 전에 한 번 무조건 평가되고 실행됩니다.

각 루프가 시작되기 전에 평가하세요. 값이 TRUE이면 루프가 계속되고 중첩 루프 문이 실행됩니다. . 값이 FALSE이면 루프가 종료됩니다. TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。

 在每次循环之后被求值(并执行)。

每个表达式都可以为空或包括逗号分隔的多个表达式。表达式  中,所有用逗号分隔的表达式都会计算,但只取最后一个结果。 为空意味着将无限循环下去(和 C 一样,PHP 暗中认为其值为 TRUE은 각 루프 후에 평가(및 실행)됩니다.

각 표현식은 비어 있거나 쉼표로 구분된 여러 표현식을 포함할 수 있습니다. 표현식에서는 쉼표로 구분된 모든 표현식이 평가되지만 마지막 결과만 사용됩니다. 비어 있음은 루프가 무한정 계속됨을 의미합니다(C와 마찬가지로 PHP는 암시적으로 해당 값이 TRUE라고 믿습니다 ). for 표현식 진실 확인을 사용하는 대신 조건부

break

문을 사용하여 루프를 종료하려는 경우가 많기 때문에 이는 생각만큼 쓸모가 없을 수 있습니다.

둘 다 1부터 10까지의 숫자를 표시하는 다음 예를 고려하세요.

<?php
/* example 1 */

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

/* example 2 */

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* example 3 */

$i = 1;
for (;;) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* example 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

물론 첫 번째 예가 가장 깔끔해 보이지만(혹은 네 번째 예라고 주장하는 사람도 있을 것입니다), 사용자는 빈 표현식을 사용하기 어려울 수 있습니다. 많은 상황에서 편리합니다.

PHP는 콜론을 사용하는 for 루프에 대한 대체 구문도 지원합니다.

for (expr1; expr2; expr3):
    statement;
    ...
endfor;

다음 예와 같이 배열을 순회해야 하는 경우가 종종 있습니다.

<?php
/*
 * 此数组将在遍历的过程中改变其中某些单元的值
 */
$people = Array(
        Array(&#39;name&#39; => &#39;Kalle&#39;, &#39;salt&#39; => 856412), 
        Array(&#39;name&#39; => &#39;Pierre&#39;, &#39;salt&#39; => 215863)
        );

for($i = 0; $i < count($people); ++$i)
{
    $people[$i][&#39;salt&#39;] = rand(000000, 999999);
}
?>
위 코드는 반복될 때마다 배열 길이를 계산해야 하기 때문에 매우 느리게 실행될 수 있습니다. 배열의 길이는 항상 동일하게 유지되므로 count()

:

<?php
$people = Array(
        Array(&#39;name&#39; => &#39;Kalle&#39;, &#39;salt&#39; => 856412), 
        Array(&#39;name&#39; => &#39;Pierre&#39;, &#39;salt&#39; => 215863)
        );

for($i = 0, $size = count($people); $i < $size; ++$i)
{
    $people[$i][&#39;salt&#39;] = rand(000000, 999999);
}
?>
관련 권장 사항:

🎜php 흐름 제어를 지속적으로 호출하는 대신 중간 변수를 사용하여 최적화를 위한 배열 길이를 저장할 수 있습니다. 하는 동안 🎜🎜

php 프로세스 제어 elseif/else if

위 내용은 명령문에 대한 PHP 흐름 제어의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.