PHP Control Structures: Pokud jinak, Switch Case

⚡ Chytré shrnutí

Řídicí struktury a smyčky určují cestu, kterou se PHP program vydá, a efektivně opakují bloky kódu. Tento návod vysvětluje rozhodovací struktury if-else a switch a poté se zabývá smyčkami for, while, do-while a foreach, které konkurenti v tomto tématu očekávají.

  • 🔀 Řídicí tok: Řídicí struktura vybírá, který kód se spustí na základě podmínky, čímž přeměňuje přímou sekvenci na logiku řízenou rozhodováním.
  • 🔤 Pokud-jinak: Struktura if-else spustí jeden blok, když je podmínka pravdivá, a záložní blok, když je nepravdivá.
  • 🧮 Pouzdro spínače: Funkce switch porovnává jednu hodnotu s několika popisky případů a spustí odpovídající blok, nebo výchozí hodnotu, pokud se žádná neshoduje.
  • 🔁 Přehled smyček: Smyčky opakují blok kódu, což vám ušetří psaní stejných příkazů mnohokrát.
  • 🔢 Počítání smyček: for a while opakovat, dokud je podmínka splněna, ideální, když víte nebo track kolik iterací je potřeba.
  • ???? Smyčka Foreach: Funkce foreach prochází každým prvkem pole, aniž by sama spravovala čítač indexů.
  • 🤖 AI Assist: Nástroje umělé inteligence dokáží refaktorovat dlouhé řetězce if-else na příkazy switch nebo match a pomáhají opravit nekonečné smyčky.

Řídicí struktury a smyčky v PHP

Co je to kontrolní struktura?

Code Provedení lze rozdělit do kategorií, jak je uvedeno níže.

  • Sekvenční – v tomto případě se veškerý kód spustí v pořadí, v jakém byl napsán.
  • Rozhodnutí – toto zahrnuje výběr z několika možností. Provedený kód závisí na hodnotě podmínky.

Řídicí struktura je blok kódu, který rozhoduje o cestě provádění programu v závislosti na hodnotě nastavené podmínky.

Pojďme se nyní podívat na některé z kontrolních struktur, které PHP podporuje.

PHP IF Jinak

Pokud… pak… je to jinak nejjednodušší struktura ovládáníVyhodnocuje podmínky pomocí booleovské logiky.

Kdy použít if… then… else

  • Máte blok kódu, který by měl být proveden, pouze pokud je splněna určitá podmínka
  • Máte dvě možnosti a musíte si vybrat jednu.
  • If… then… else if… se používá, když musíte vybrat více než dvě možnosti a musíte vybrat jednu nebo více

syntax. Syntaxe pro if… then… else je:

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

TADY,

  • "pokud (podmínka je pravdivá)„je řídicí struktura
  • "blok jeden” je kód, který se má provést, pokud je podmínka pravdivá
  • jiný je záložní, pokud je podmínka nepravdivá
  • "blok dva” je blok kódu, který se provede, pokud je podmínka nepravdivá

Jak to funguje. Níže uvedený vývojový diagram ilustruje, jak funguje řídicí struktura if…then…else.

PHP IF Jinak

Pojďme se na to podívat v praxi. Níže uvedený kód používá k určení větší hodnoty mezi dvěma čísly „jestli… pak… jinak“.

<?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";

}

?>

Výstup:

21 is greater than 7

Pouzdro na přepínač PHP

Spínač… pouzdro je podobná pokud… pak… jinak řídící struktura.

Jen to provede jeden blok kódu v závislosti na hodnota stavu.

Pokud není splněna žádná podmínka, provede se výchozí blok kódu.

Má následující základní syntaxi.

<?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;

}
?>

TADY,

  • "přepínač(…){…}" je kód bloku řídicí struktury
  • „hodnota případu: případ…“ jsou bloky kódu, které mají být provedeny v závislosti na hodnotě podmínky
  • "výchozí:" je blok kódu, který se provede, když žádná hodnota neodpovídá podmínce

Jak to funguje

Níže uvedený vývojový diagram ilustruje, jak funguje struktura ovládání přepínače.

Pouzdro na přepínač PHP

Praktický příklad

Níže uvedený kód používá strukturu ovládání přepínačů k zobrazení zprávy v závislosti na dni v týdnu.

<?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;

}

?>

Výstup:

ladies night, take her out for dinner

PHP smyčky

Smyčky jsou řídicí struktury, které opakují blok kódu, dokud je podmínka splněna. Ušetří vám psaní stejného příkazu mnohokrát. PHP podporuje čtyři typy smyček: for, while, do-while a foreach. Podrobnější návod naleznete ve vyhrazeném dokumentu. Výukový program pro PHP cyklus.

PHP pro smyčku

Smyčka for se používá, když předem víte, kolikrát se má kód spustit. Kombinuje čítač, podmínku a inkrement na jednom řádku.

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

Výstup:

01234

PHP cyklus While

Smyčka while opakuje blok tak dlouho, dokud je jeho podmínka pravdivá. Podmínka se kontroluje před každou iterací, takže tělo smyčky se může spustit nulakrát.

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

Výstup:

01234

PHP cyklus Do-While

Smyčka typu do-while je podobná smyčce while, ale kontroluje podmínku až po těle bloku. To zaručuje, že se blok spustí alespoň jednou.

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

Výstup:

01234

PHP smyčka Foreach

Smyčka foreach je určena pro pole. Prochází každým prvkem, aniž byste museli spravovat čítač indexů.

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

Výstup:

red green blue

Nejčastější dotazy

Příkaz switch použijte při porovnávání jedné proměnné s mnoha pevnými hodnotami, protože se snáze čte než dlouhý řetězec if-else. Příkaz if-else použijte pro rozsahy, složité podmínky nebo porovnání zahrnující různé proměnné.

Příkaz break smyčku zcela zastaví a přejde na kód za ní. Příkaz continue přeskočí zbytek aktuální iterace a přeskočí na další, aniž by smyčku zcela ukončil.

match je moderní alternativa k příkazu switch, který byl představen v PHP 8. Vrací hodnotu, používá striktní porovnávání, nepotřebuje žádné příkazy break a vyvolá chybu, pokud se neshoduje žádná shoda s příkazem arm, což jej činí bezpečnějším a stručnějším.

Ano. Umělá inteligence dokáže přepsat dlouhý řetězec if-else jako ekvivalentní switch nebo výraz pro porovnávání v PHP 8, keeping logika je identická, ale kód je kratší a čitelnější. Výsledek si poté otestujte.

Ano. Umělá inteligence dokáže zkontrolovat stav a počítadlo vaší smyčky, najít chybějící přírůstek nebo podmínku, která se nikdy nestane nepravdivou, a navrhnout opravu, aby smyčka skončila podle očekávání.

Shrňte tento příspěvek takto: