PHP-kontrollstrukturer: Hvis annet, bytt omslag

⚡ Smart oppsummering

Kontrollstrukturer og løkker bestemmer banen et PHP-program tar og gjentar kodeblokker effektivt. Denne gjennomgangen forklarer if-else- og switch-beslutningsstrukturene, og dekker deretter for-, while-, do-while- og foreach-løkkene som konkurrenter forventer i dette emnet.

  • 🔀 Kontrollflyt: En kontrollstruktur velger hvilken kode som kjøres basert på en betingelse, og gjør en rett sekvens om til beslutningsdrevet logikk.
  • 🔤 Hvis-ellers: If-else-strukturen kjører én blokk når en betingelse er sann, og en fallback-blokk når den er usann.
  • 🧮 Bryterhus: switch sammenligner én verdi mot flere saksetiketter og kjører den samsvarende blokken, eller standardverdien når ingen samsvarer.
  • 🔁 Oversikt over løkker: Løkker gjentar en kodeblokk, og sparer deg for å skrive de samme setningene mange ganger.
  • 🔢 Telleløkker: for og mens gjenta mens en betingelse gjelder, ideelt når du vet eller track hvor mange iterasjoner som trengs.
  • 📦 Foreach-løkke: foreach går gjennom hvert element i en array uten å administrere en indeksteller selv.
  • 🤖 AI Assist: AI-verktøy kan omstrukturere lange if-else-kjeder til switch- eller match-setninger og bidra til å fikse uendelige løkker.

PHP-kontrollstrukturer og -løkker

Hva er en kontrollstruktur?

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

  • Sekvensiell – denne innebærer å kjøre all koden i den rekkefølgen den er skrevet.
  • Vedtak – dette innebærer å gjøre et valg gitt en rekke alternativer. Koden som utføres avhenger av verdien av betingelsen.

En kontrollstruktur er en kodeblokk som bestemmer utførelsesbanen til et program avhengig av verdien av den angitte tilstanden.

La oss nå se på noen av kontrollstrukturene som PHP støtter.

PHP IF Else

Hvis... så... annet er enkleste kontrollstrukturenDen evaluerer betingelsene ved hjelp av boolsk logikk.

Når skal du bruke hvis... så... annet

  • Du har en kodeblokk som bare skal kjøres hvis en viss betingelse er sann
  • Du har to alternativer, og du må velge ett.
  • Hvis... så... annet hvis... brukes når du må velge mer enn to alternativer og du må velge ett eller flere

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

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

HER,

  • "hvis (betingelsen er sann)«er kontrollstrukturen»
  • "blokker en” er koden som skal kjøres hvis betingelsen er sann
  • ellers er reserven hvis betingelsen er falsk
  • "blokk to” er kodeblokken som utføres hvis betingelsen er falsk

Hvordan det fungerer. Flytskjemaet nedenfor illustrerer hvordan kontrollstrukturen «if… then… else» fungerer.

PHP IF Else

La oss se dette i praksis. Koden nedenfor bruker "hvis... da... annet" for å bestemme den største verdien mellom to tall.

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

}

?>

Utgang:

21 is greater than 7

PHP Switch Case

Bytt…-hus er lik hvis ... så ... ellers kontrollstruktur.

Det bare Utfører en enkelt kodeblokk avhengig av verdi av tilstanden.

Hvis ingen betingelse er oppfylt, kjøres standardkodeblokken.

Den har følgende grunnleggende 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,

  • "bryter(…){…}" er kontrollstrukturens blokkkode
  • "case value: case ..." er kodeblokkene som skal utføres avhengig av verdien av betingelsen
  • "misligholde:" er kodeblokken som skal kjøres når ingen verdi samsvarer med betingelsen

Hvordan fungerer det

Flytskjemaet nedenfor illustrerer hvordan bryterkontrollstrukturen fungerer.

PHP Switch Case

Praktisk eksempel

Koden nedenfor bruker bryterkontrollstrukturen til å vise en melding avhengig av ukedagen.

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

}

?>

Utgang:

ladies night, take her out for dinner

PHP-løkker

Løkker er kontrollstrukturer som gjentar en kodeblokk så lenge en betingelse forblir sann. De sparer deg for å skrive den samme setningen mange ganger. PHP støtter fire løkketyper: for, while, do-while og foreach. For en dypere gjennomgang, se den dedikerte PHP-løkkeopplæring.

PHP for loop

For-løkken brukes når du vet på forhånd hvor mange ganger koden skal kjøres. Den kombinerer telleren, betingelsen og økningen på én linje.

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

Utgang:

01234

PHP While-løkke

While-løkken gjentar en blokk så lenge betingelsen forblir sann. Betingelsen kontrolleres før hver iterasjon, slik at blokken kan kjøres null ganger.

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

Utgang:

01234

PHP Do-While-løkke

Do-while-løkken er som while-løkken, men den sjekker betingelsen etter kroppen. Dette garanterer at blokken kjører minst én gang.

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

Utgang:

01234

PHP Foreach-løkke

Foreach-løkken er designet for arrayer. Den går gjennom hvert element uten at du må administrere en indeksteller.

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

Utgang:

red green blue

Spørsmål og svar

Bruk switch når du sammenligner én variabel mot mange faste verdier, da den er enklere å lese enn en lang if-else-kjede. Bruk if-else for områder, komplekse betingelser eller sammenligninger som involverer forskjellige variabler.

break stopper løkken fullstendig og går videre til koden etter den. continue hopper over resten av gjeldende iterasjon og går videre til den neste, uten å avslutte løkken helt.

match er et moderne alternativ til switch introdusert i PHP 8. Den returnerer en verdi, bruker streng sammenligning, trenger ingen break-setninger og kaster en feil hvis ingen arm samsvarer, noe som gjør den tryggere og mer konsis.

Ja. AI kan omskrive en lang if-else-kjede som en tilsvarende svitsj eller et PHP 8-matchuttrykk, keeping logikken er identisk, samtidig som koden blir kortere og lettere å lese. Test resultatet etterpå.

Ja. AI kan inspisere løkketilstanden og telleren din, oppdage manglende økninger eller en tilstand som aldri blir falsk, og foreslå en løsning slik at løkken avsluttes som tiltenkt.

Oppsummer dette innlegget med: