foreach for do-while

Циклы php

    do-while

    Цикл do-while похож на цикл while, что истинность выражения проверяется в конце итерации, а не в начале, это значит, что выражение будет гарантировано выполнено хотя 1 раз

    <?php $i = 0; do { echo $i; } while ($i > 0); ?<
    for

    for (expr1; expr2; expr3)
    expr1 выполняется только один раз в начале цикла
    expr2 оценивается в начале каждой итерации, если true тогда цикл продолжается
    expr3 выполняется в конце каждой итерации
    Каждое из выражений может быть пустым или содержать несколько выражений, разделённых запятыми.
    В expr2 все выражения, разделённые запятыми, вычисляются, но результат берётся из последнего.
    Если выражение expr2 отсутствует, это означает, что цикл будет выполняться бесконечно.
    Источник: https://www.php.net/manual/ru/control-structures.for.php

    #Выполнение цикла без выражения expr2 for($i = 10; ; $i--) { echo "$i<br>"; if($i < 0) break; } #То же самое без выражений $i=10; for(; ;) { echo "$i<br>"; if($i < 0) break; $i--; } #Выполнение цикла без тела for($i = 10, $j = 1; $i < 20; $i += $j, print $i . "<br>");
    foreach

    foreach работает только с массивами и объектами
    Существует два типа синтаксиса:

    foreach (iterable_expression as $value)
        statement
    foreach (iterable_expression as $key => $value)
        statement
    
    В первой форме На каждой итерации значение текущего элемента присваивается переменной $value
    Вторая форма дополнительно будет присваивать ключ текущего элемента переменной $key
    Чтобы изменять элементы массива внутри цикла, перед переменной $value указывается знак &, после чего значение можно изменить по ссылке

    $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } var_dump($arr); unset($value); #Разорвать ссылку на последний элемент

    Ключ и значение

    $a = array( "one" => 1, "two" => 2, "three" => 3, "seventeen" => 17 ); foreach ($a as $k => $v) { echo "\$a[$k] => $v.\n"; }

    Многомерные массивы

    $a = array(); $a[0][0] = "a"; $a[0][1] = "b"; $a[1][0] = "y"; $a[1][1] = "z"; foreach ($a as $v1) { foreach ($v1 as $v2) { echo "$v2\n"; } }

    Распаковка вложенных массивов конструкцией list

    $array = [ [1, 2], [3, 4], ]; foreach ($array as list($a, $b)) { // Переменная $a содержит первый элемент вложенного массива, // а переменная $b — второй. echo "A: $a; B: $b\n"; }

    Источник: https://www.php.net/manual/ru/control-structures.foreach.php

    break

    break прерывает выполнение текущей структуры for, foreach, while, do-while или switch
    break принимает аргумент, который сообщает ему выполнение какого количества вложенных структур необходимо прервать, значение по умолчанию 1

    $i = 0; while(++$i){ echo $i . " <br>"; switch($i){ case 5: echo "Цикл 5, выход из switch<br>"; break 1; case 10: echo "Цикл 10, выход из while<br>"; break 2; default: break; } } 1 2 3 4 5 Цикл 5, выход из switch 6 7 8 9 10 Цикл 10, выход из while ####################################### $arr_test = array(1, 2, 3, 4, 5, 'stop'); foreach($arr_test as $elem){ echo $elem . "
    "; if($elem == "stop") break; } 1 2 3 4 5 stop
    Continue

    Continue используется для пропуска выполнения оставшийся части итерации после ключевого слова continue

    #Продолжить выполнение цикла, только если число нечетное $arr = ['ноль', 'один', 'два', 'три', 'четыре', 'пять', 'шесть']; foreach($arr as $key => $value){ echo "Начало выполнения итерации " . $key . "
    "; if(($key % 2)==0){ continue; } echo "Конец выполнения итерации " . $key . " значение " . $value."
    ";

    Источники
    Последнее изменение: 06.11.2024 00:22


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ