PHP-controlestructuren: Als dit anders is, schakel dan van geval

โšก Slimme samenvatting

Besturingsstructuren en lussen bepalen het pad dat een PHP-programma volgt en herhalen codeblokken efficiรซnt. Deze handleiding legt de if-else- en switch-structuren uit en behandelt vervolgens de for-, while-, do-while- en foreach-lussen die deelnemers aan examens over dit onderwerp verwachten.

  • ๐Ÿ”€ Controlestroom: Een besturingsstructuur kiest welke code wordt uitgevoerd op basis van een voorwaarde, waardoor een lineaire opeenvolging wordt omgezet in beslissingsgestuurde logica.
  • ๐Ÿ”ค Als-anders: De if-else-structuur voert รฉรฉn blok uit wanneer een voorwaarde waar is en een fallback-blok wanneer deze onwaar is.
  • ๐Ÿงฎ Switch-Case: De switch-instructie vergelijkt รฉรฉn waarde met meerdere case-labels en voert het overeenkomende blok uit, of de standaardcode als er geen overeenkomst is.
  • ๐Ÿ” Overzicht van lussen: Lussen herhalen een blok code, waardoor je niet steeds dezelfde instructies opnieuw hoeft te schrijven.
  • ๐Ÿ”ข Het tellen van lussen: herhalen zolang een bepaalde voorwaarde geldt, ideaal wanneer je het weet of track hoeveel iteraties er nodig zijn.
  • ???? Voor elke lus: De foreach-lus doorloopt elk element van een array zonder zelf een indexteller bij te houden.
  • ๐Ÿค– AI-assistentie: AI-tools kunnen lange if-else-ketens omzetten in switch- of match-instructies en helpen bij het oplossen van oneindige lussen.

PHP-besturingsstructuren en -lussen

Wat is een controlestructuur?

Code De uitvoering kan in categorieรซn worden ingedeeld, zoals hieronder weergegeven.

  • Sequential โ€“ deze methode houdt in dat alle code wordt uitgevoerd in de volgorde waarin deze is geschreven.
  • Beslissing โ€“ deze houdt in dat je een keuze maakt uit een aantal opties. De uitgevoerde code is afhankelijk van de waarde van de voorwaarde.

Een besturingsstructuur is een codeblok dat het uitvoeringspad van een programma bepaalt, afhankelijk van de waarde van de ingestelde voorwaarde.

Laten we nu eens kijken naar enkele van de besturingsstructuren die PHP ondersteunt.

PHP ALS Anders

Als... dan... anders is het eenvoudigste controlestructuurHet evalueert de voorwaarden met behulp van Booleaanse logica.

Wanneer gebruik je als... dan... anders

  • Je hebt een codeblok dat alleen moet worden uitgevoerd als aan een bepaalde voorwaarde waar is
  • Je hebt twee opties en je moet er รฉรฉn selecteren.
  • Alsโ€ฆ danโ€ฆ anders alsโ€ฆ wordt gebruikt als u meer dan twee opties moet selecteren en u er รฉรฉn of meer moet selecteren

Syntaxis. De syntaxis voor ifโ€ฆ thenโ€ฆ else is:

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

HIER,

  • "als (de voorwaarde waar is)" is de controlestructuur
  • "blok รฉรฉnโ€ is de code die moet worden uitgevoerd als de voorwaarde waar is
  • anders is de terugval als de voorwaarde onwaar is
  • "blok twee' is het codeblok dat wordt uitgevoerd als de voorwaarde onwaar is

Hoe het werkt. Het onderstaande stroomdiagram illustreert hoe de ifโ€ฆ thenโ€ฆ else-besturingsstructuur werkt.

PHP ALS Anders

Laten we dit in de praktijk bekijken. De onderstaande code gebruikt โ€œalsโ€ฆdanโ€ฆandersโ€ om de grootste waarde tussen twee getallen te bepalen.

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

Schakel... geval is gelijk aan de alsโ€ฆ danโ€ฆ anders controle structuur.

Het alleen wordt uitgevoerd een enkel codeblok, afhankelijk van de waarde van de toestand.

Als er niet aan een voorwaarde is voldaan, wordt het standaard codeblok uitgevoerd.

De basissyntaxis is als volgt.

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

}
?>

HIER,

  • "schakelaar(โ€ฆ){โ€ฆ}" is de blokcode van de besturingsstructuur
  • "zaakwaarde: geval..." zijn de codeblokken die moeten worden uitgevoerd, afhankelijk van de waarde van de voorwaarde
  • "standaard:" is het codeblok dat moet worden uitgevoerd wanneer geen enkele waarde aan de voorwaarde voldoet

Hoe werkt onze technologie?

Het onderstaande stroomschema illustreert hoe de schakelbesturingsstructuur werkt.

PHP-switchbehuizing

Praktisch voorbeeld

De onderstaande code gebruikt de schakelbesturingsstructuur om een โ€‹โ€‹bericht weer te geven, afhankelijk van de dag van de week.

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

Lussen zijn controlestructuren die een blok code herhalen zolang een bepaalde voorwaarde waar blijft. Ze voorkomen dat je dezelfde instructie meerdere keren hoeft te schrijven. PHP ondersteunt vier lussoorten: for, while, do-while en foreach. Voor een uitgebreidere uitleg, zie het betreffende artikel. PHP-loop-tutorial.

PHP voor lus

De for-lus wordt gebruikt wanneer je van tevoren weet hoe vaak de code moet worden uitgevoerd. Het combineert de teller, de voorwaarde en de verhoging op รฉรฉn regel.

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

Output:

01234

PHP While-lus

De while-lus herhaalt een codeblok zolang de voorwaarde waar blijft. De voorwaarde wordt vรณรณr elke iteratie gecontroleerd, dus de code zelf hoeft niet per se รฉรฉn keer te worden uitgevoerd.

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

Output:

01234

PHP Do-While-lus

De do-while-lus is vergelijkbaar met de while-lus, maar de voorwaarde wordt pas na de body gecontroleerd. Dit garandeert dat het codeblok minstens รฉรฉn keer wordt uitgevoerd.

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

Output:

01234

PHP Foreach-lus

De foreach-lus is ontworpen voor arrays. Hij doorloopt elk element zonder dat je een indexsteller hoeft bij te houden.

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

Output:

red green blue

Veelgestelde vragen

Gebruik een switch-statement wanneer je รฉรฉn variabele vergelijkt met meerdere vaste waarden, omdat dit gemakkelijker te lezen is dan een lange if-else-structuur. Gebruik een if-else-statement voor bereiken, complexe voorwaarden of vergelijkingen tussen verschillende variabelen.

`break` stopt de lus volledig en gaat verder met de code erna. `continue` slaat de rest van de huidige iteratie over en springt naar de volgende, zonder de lus volledig te beรซindigen.

`match` is een modern alternatief voor `switch`, geรฏntroduceerd in PHP 8. Het retourneert een waarde, maakt gebruik van strikte vergelijking, vereist geen `break`-statements en genereert een foutmelding als er geen overeenkomst met `arm` wordt gevonden. Dit maakt het veiliger en beknopter.

Ja. AI kan een lange if-else-keten herschrijven als een equivalente switch- of PHP 8-match-expressie.ping De logica is identiek, maar de code is korter en gemakkelijker te lezen. Test het resultaat daarna.

Ja. AI kan je lusvoorwaarde en teller controleren, een ontbrekende verhoging of een voorwaarde die nooit onwaar wordt opsporen en een oplossing voorstellen zodat de lus correct eindigt.

Vat dit bericht samen met: