Керуючі структури PHP: якщо інакше, змініть регістр

⚡ Розумний підсумок

Структури керування та цикли визначають шлях, яким рухається PHP-програма, та ефективно повторюють блоки коду. У цьому покроковому посібнику пояснюються структури прийняття рішень if-else та switch, а потім розглядаються цикли for, while, do-while та foreach, яких очікують конкуренти в цій темі.

  • 🔀 Потік керування: Структура керування вибирає, який код виконуватиметься, на основі умови, перетворюючи пряму послідовність на логіку, керовану рішеннями.
  • 🔤 Якщо-Інакше: Структура if-else виконує один блок, коли умова істинна, та резервний блок, коли вона хибна.
  • 🧮 Корпус перемикача: switch порівнює одне значення з кількома мітками випадків та запускає блок відповідності або значення за замовчуванням, якщо жодного збігу немає.
  • 🔁 Огляд циклів: Цикли повторюють блок коду, позбавляючи вас необхідності писати одні й ті ж оператори багато разів.
  • 🔢 Підрахунок циклів: for та while повторювати, поки виконується умова, ідеально, коли ви знаєте або track скільки ітерацій потрібно.
  • 📦 Цикл Foreach: foreach проходить по кожному елементу масиву, не керуючи самостійно лічильником індексів.
  • 🤖 AI Assist: Інструменти штучного інтелекту можуть рефакторувати довгі ланцюжки if-else в оператори switch або match та допомагати виправляти нескінченні цикли.

Структури та цикли керування PHP

Що таке структура управління?

Code виконання можна згрупувати в категорії, як показано нижче.

  • Послідовний – цей код передбачає виконання всього коду в порядку, в якому він був написаний.
  • Рішення – це передбачає вибір із кількох варіантів. Виконуваний код залежить від значення умови.

Структура керування — це блок коду, який визначає шлях виконання програми залежно від значення заданої умови.

Давайте тепер розглянемо деякі структури управління, які PHP підтримує

PHP IF Else

Якщо… тоді… ще це Найпростіша структура управлінняВін оцінює умови за допомогою булевої логіки.

Коли використовувати if… then… else

  • У вас є блок коду, який слід виконувати, лише якщо виконується певна умова
  • У вас є два варіанти, і вам потрібно вибрати один.
  • If… then… else if… використовується, коли вам потрібно вибрати більше двох параметрів і вам потрібно вибрати один або більше

Синтаксис. Синтаксис для if… then… else такий:

<?php
if (condition is true) {
    block one
} else {
    block two
}
?>

ТУТ,

  • "якщо (умова істинна)« – це структура управління
  • "блок один” — це код, який буде виконано, якщо умова виконується
  • ще є резервним варіантом, якщо умова хибна
  • "блок другий” – це блок коду, який виконується, якщо умова хибна

Як це працює. Наведена нижче блок-схема ілюструє, як працює структура керування if…then…else.

PHP IF Else

Давайте подивимося на це в дії. У наведеному нижче коді використовується «if… then… else» для визначення більшого значення між двома числами.

<?php

$first_number = 7;

$second_number = 21;

if ($first_number > $second_number){

echo "$first_number is greater than $second_number";

}else{

echo "$second_number is greater than $first_number";

}

?>

вихід:

21 is greater than 7

PHP Switch Case

Перемикач… футляр схоже на якщо… тоді… інакше структура управління.

Це лише виконує один блок коду залежно від значення стану.

Якщо жодної умови не виконано, то виконується блок коду за замовчуванням.

Він має наступний базовий синтаксис.

<?php
switch(condition){

case value:

// block of code to be executed

break;

case value2:

// block of code to be executed

break;

default:

// default block code

break;

}
?>

ТУТ,

  • «перемикач(…){…}» це код блоку структури керування
  • «Регістр значення: регістр…» це блоки коду, які потрібно виконати залежно від значення умови
  • "за замовчуванням:" блок коду, який виконується, коли жодне значення не відповідає умові

Як ми можемо допомогти

Наведена нижче блок-схема ілюструє, як працює структура керування перемикачем.

PHP Switch Case

Практичний приклад

Код нижче використовує структуру керування перемикачем для відображення повідомлення залежно від дня тижня.

<?php

$today = "wednesday";

switch($today){

case "sunday":

echo "pray for us sinners.";

break;

case "wednesday":

echo "ladies night, take her out for dinner";

break;

case "saturday":

echo "take care as you go out tonight.";

break;

default:

echo "have a nice day at work";

break;

}

?>

вихід:

ladies night, take her out for dinner

PHP-цикли

Цикли — це керуючі структури, які повторюють блок коду, поки умова залишається істинною. Вони позбавляють вас необхідності писати один і той самий оператор багато разів. PHP підтримує чотири типи циклів: for, while, do-while та foreach. Для детальнішого огляду див. спеціальний розділ... Підручник з циклів у PHP.

PHP для циклу

Цикл for використовується, коли заздалегідь відомо, скільки разів має виконатися код. Він поєднує лічильник, умову та приріст в одному рядку.

<?php
for ($i = 0; $i < 5; $i++) {
    echo $i;
}
?>

вихід:

01234

PHP While цикл

Цикл while повторює блок доти, доки його умова залишається істинною. Умова перевіряється перед кожною ітерацією, тому тіло циклу може виконуватися нуль разів.

<?php
$i = 0;
while ($i < 5) {
    echo $i;
    $i++;
}
?>

вихід:

01234

PHP Do-While цикл

Цикл do-while подібний до циклу while, але він перевіряє умову після тіла блоку. Це гарантує, що блок буде виконано принаймні один раз.

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

вихід:

01234

Цикл PHP Foreach

Цикл foreach розроблений для масивів. Він проходить по кожному елементу без керування лічильником індексів.

<?php
$colors = array("red", "green", "blue");
foreach ($colors as $color) {
    echo $color . " ";
}
?>

вихід:

red green blue

Поширені запитання

Використовуйте оператор switch, коли порівнюєте одну змінну з багатьма фіксованими значеннями, оскільки його легше читати, ніж довгий ланцюжок if-else. Використовуйте if-else для діапазонів, складних умов або порівнянь, що включають різні змінні.

break повністю зупиняє цикл і переходить до коду після нього. continue пропускає решту поточної ітерації та переходить до наступної, не завершуючи цикл повністю.

match — це сучасна альтернатива switch, представлена ​​в PHP 8. Він повертає значення, використовує суворе порівняння, не потребує операторів break та викидає помилку, якщо не знайдено збігів arm, що робить його безпечнішим та лаконічнішим.

Так. ШІ може переписати довгий ланцюжок if-else як еквівалентний вираз switch або вираз match у PHP 8, keeping логіка ідентична, але код коротший та легший для читання. Перевірте результат пізніше.

Так. Штучний інтелект може перевірити умову та лічильник вашого циклу, виявити відсутній приріст або умову, яка ніколи не стає хибною, та запропонувати виправлення, щоб цикл завершився належним чином.

Підсумуйте цей пост за допомогою: