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: