PHP-kontrolstrukturer: Hvis andet, skift etui

⚡ Smart opsummering

Kontrolstrukturer og løkker bestemmer den vej, et PHP-program tager, og gentager kodeblokke effektivt. Denne gennemgang forklarer if-else- og switch-beslutningsstrukturerne og dækker derefter for-, while-, do-while- og foreach-løkkerne, som konkurrenter forventer i dette emne.

  • 🔀 Kontrolflow: En kontrolstruktur vælger, hvilken kode der kører, baseret på en betingelse, og omdanner en lige sekvens til beslutningsdrevet logik.
  • 🔤 Hvis-ellers: If-else-strukturen kører én blok, når en betingelse er sand, og en fallback-blok, når den er falsk.
  • 🧮 Skiftehus: switch sammenligner én værdi med flere case-labels og kører den matchende blok eller standardværdien, når ingen matcher.
  • 🔁 Oversigt over løkker: Løkker gentager en kodeblok, hvilket sparer dig for at skrive de samme sætninger mange gange.
  • 🔢 Tælleløkker: for og mens gentages mens en betingelse gælder, ideelt når du ved eller track hvor mange iterationer der er nødvendige.
  • 📦 Foreach-løkke: foreach gennemgår hvert element i et array uden selv at administrere en indekstæller.
  • 🤖 AI Assist: AI-værktøjer kan omdanne lange if-else-kæder til switch- eller match-sætninger og hjælpe med at løse uendelige løkker.

PHP-kontrolstrukturer og -løkker

Hvad er en kontrolstruktur?

Code Udførelsen kan grupperes i kategorier som vist nedenfor.

  • Sekventiel – denne involverer at udføre al kode i den rækkefølge, den er skrevet i.
  • Beslutning – denne involverer at træffe et valg givet en række muligheder. Den udførte kode afhænger af tilstandens værdi.

En kontrolstruktur er en kodeblok, der bestemmer udførelsesstien for et program afhængigt af værdien af ​​den indstillede betingelse.

Lad os nu se på nogle af de kontrolstrukturer, der PHP bakker op.

PHP IF Else

Hvis... så... andet er enkleste kontrolstrukturDen evaluerer betingelserne ved hjælp af boolsk logik.

Hvornår skal du bruge hvis... så... andet

  • Du har en kodeblok, der kun skal udføres, hvis en bestemt betingelse er sand
  • Du har to muligheder, og du skal vælge en.
  • Hvis... så... ellers hvis... bruges, når du skal vælge mere end to muligheder, og du skal vælge en eller flere

Syntaks. Syntaksen for hvis… så… ellers er:

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

HER,

  • "hvis (betingelsen er sand)"er kontrolstrukturen"
  • "blok en” er den kode, der skal udføres, hvis betingelsen er sand
  • andet er tilbagefaldet, hvis betingelsen er falsk
  • "blok to” er den kodeblok, der udføres, hvis betingelsen er falsk

Hvordan det virker. Flowdiagrammet nedenfor illustrerer, hvordan kontrolstrukturen "if… then… else" fungerer.

PHP IF Else

Lad os se dette i praksis. Koden nedenfor bruger "hvis... så... andet" til at bestemme den største værdi mellem to tal.

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

}

?>

Output:

21 is greater than 7

PHP Switch Case

Skift… etui svarer til den hvis… så… ellers kontrolstruktur.

Det eneste henretter en enkelt kodeblok afhængig af værdi af tilstanden.

Hvis ingen betingelse er opfyldt, udføres standardkodeblokken.

Det har følgende grundlæggende syntaks.

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

}
?>

HER,

  • "kontakt(…){…}" er kontrolstrukturens blokkode
  • "case value: case..." er de kodeblokke, der skal udføres afhængigt af tilstandens værdi
  • "Standard:" er den kodeblok, der skal udføres, når ingen værdi matcher betingelsen

Sådan fungerer det

Flowdiagrammet nedenfor illustrerer, hvordan kontaktstyringsstrukturen fungerer.

PHP Switch Case

Praktisk eksempel

Koden nedenfor bruger kontaktkontrolstrukturen til at vise en besked afhængigt af ugedagen.

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

}

?>

Output:

ladies night, take her out for dinner

PHP-løkker

Loops er kontrolstrukturer, der gentager en kodeblok, så længe en betingelse forbliver sand. De sparer dig for at skrive den samme sætning mange gange. PHP understøtter fire looptyper: for, while, do-while og foreach. For en dybere gennemgang, se den dedikerede PHP-løkkevejledning.

PHP til loop

For-løkken bruges, når man på forhånd ved, hvor mange gange koden skal køre. Den kombinerer tælleren, betingelsen og inkrementet på én linje.

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

Output:

01234

PHP While-løkke

While-løkken gentager en blok, så længe dens betingelse forbliver sand. Betingelsen kontrolleres før hver iteration, så kroppen kan køre nul gange.

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

Output:

01234

PHP Do-While-løkke

Do-while-løkken er ligesom while-løkken, men den kontrollerer betingelsen efter kroppen. Dette garanterer, at blokken kører mindst én gang.

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

Output:

01234

PHP Foreach-løkke

Foreach-løkken er designet til arrays. Den gennemgår hvert element uden at du skal administrere en indekstæller.

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

Output:

red green blue

Ofte Stillede Spørgsmål

Brug switch, når du sammenligner én variabel med mange faste værdier, da den er lettere at læse end en lang if-else-kæde. Brug if-else til intervaller, komplekse betingelser eller sammenligninger, der involverer forskellige variabler.

break stopper løkken helt og går videre til koden efter den. continue springer resten af ​​den aktuelle iteration over og hopper videre til den næste uden at afslutte løkken helt.

match er et moderne alternativ til switch, der blev introduceret i PHP 8. Det returnerer en værdi, bruger streng sammenligning, kræver ingen break-sætninger og udløser en fejl, hvis ingen arm matcher, hvilket gør det mere sikkert og præcist.

Ja. AI kan omskrive en lang if-else-kæde som en ækvivalent switch eller et PHP 8 match-udtryk, keeping logikken er identisk, samtidig med at koden gøres kortere og lettere at læse. Test resultatet bagefter.

Ja. AI kan inspicere din loop-tilstand og tæller, finde en manglende inkrement eller en betingelse, der aldrig bliver falsk, og foreslå en løsning, så loopet afsluttes som tilsigtet.

Opsummer dette indlæg med: