PHP-ohjausrakenteet: Jos muuta, vaihda kirjainkokoa

⚡ Älykäs yhteenveto

Ohjausrakenteet ja silmukat päättävät PHP-ohjelman polun ja toistavat koodilohkoja tehokkaasti. Tämä läpikäynti selittää if-else- ja switch-päätösrakenteet ja käsittelee sitten for-, while-, do-while- ja foreach-silmukoita, joita kilpailijat odottavat tässä aiheessa.

  • 🔀 Ohjausvirta: Ohjausrakenne valitsee suoritettavan koodin ehdon perusteella, muuttaen suoran sekvenssin päätöksentekoon perustuvaksi logiikaksi.
  • 🔤 Jos-muuten: if-else-rakenne suorittaa yhden lohkon, kun ehto on tosi, ja varalohkon, kun se on epätosi.
  • 🧮 Kytkinkotelo: switch vertaa yhtä arvoa useisiin tapaustunnisteisiin ja suorittaa vastaavan lohkon tai oletusarvon, kun mikään ei vastaa toisiaan.
  • 🔁 Silmukoiden yleiskatsaus: Silmukat toistavat koodilohkon, mikä säästää sinut samojen lauseiden kirjoittamiselta monta kertaa.
  • 🔢 Laskentasilmukat: for ja while toista niin kauan kuin ehto on voimassa, ihanteellista silloin, kun tiedät tai track kuinka monta iteraatiota tarvitaan.
  • 📦 Foreach-silmukka: foreach käy läpi jokaisen taulukon elementin ilman, että tarvitsee itse hallita indeksilaskinta.
  • 🤖 AI Assist: Tekoälytyökalut voivat refaktoroida pitkiä if-else-ketjuja switch- tai match-lausekkeiksi ja auttaa korjaamaan äärettömiä silmukoita.

PHP-ohjausrakenteet ja -silmukat

Mikä on ohjausrakenne?

Code Suoritus voidaan ryhmitellä luokkiin alla esitetyllä tavalla.

  • Peräkkäinen – tämä tarkoittaa kaiken koodin suorittamista siinä järjestyksessä kuin se on kirjoitettu.
  • Päätös – Tämä edellyttää valinnan tekemistä useiden vaihtoehtojen perusteella. Suoritettava koodi riippuu ehdon arvosta.

Ohjausrakenne on koodilohko, joka päättää ohjelman suorituspolun asetetun ehdon arvon mukaan.

Tarkastellaan nyt joitakin ohjausrakenteita, jotka PHP tukee.

PHP JOS muu

Jos… niin… muu on yksinkertaisin ohjausrakenneSe arvioi ehdot käyttäen Boolen logiikkaa.

Milloin käyttää, jos… sitten… muuten

  • Sinulla on koodilohko, joka tulee suorittaa vain, jos tietty ehto on tosi
  • Sinulla on kaksi vaihtoehtoa, ja sinun on valittava yksi.
  • Jos… sitten… muuten jos… käytetään, kun sinun on valittava enemmän kuin kaksi vaihtoehtoa ja sinun on valittava yksi tai useampi

syntaksi. Funktion if… then… else syntaksi on:

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

TÄSSÄ,

  • "jos (ehto on tosi)” on ohjausrakenne
  • "estää yksi” on koodi, joka suoritetaan, jos ehto on tosi
  • muu on varavaihtoehto, jos ehto on epätosi
  • "lohko kaksi” on koodilohko, joka suoritetaan, jos ehto on epätosi

Kuinka se toimii. Alla oleva vuokaavio havainnollistaa, miten if… then… else -ohjausrakenne toimii.

PHP JOS muu

Katsotaanpa tätä toiminnassa. Alla oleva koodi käyttää "jos… sitten… else" määrittääkseen suuremman arvon kahden luvun välillä.

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

}

?>

lähtö:

21 is greater than 7

PHP-kytkinkotelo

Vaihda… kotelo on samanlainen kuin jos… niin… muuten ohjausrakenne.

Se vain teloitettiin yksi koodilohko riippuen arvo kunnosta.

Jos mikään ehto ei täyty, suoritetaan oletusarvoinen koodilohko.

Siinä on seuraava perussyntaksi.

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

}
?>

TÄSSÄ,

  • "vaihtaa(…){…}" on ohjausrakenteen lohkokoodi
  • "tapausarvo: tapaus…" ovat suoritettavat koodilohkot ehdon arvosta riippuen
  • "oletus:" on koodilohko, joka suoritetaan, kun mikään arvo ei vastaa ehtoa

Kuinka se toimii

Alla oleva vuokaavio havainnollistaa kytkimen ohjausrakenteen toimintaa.

PHP-kytkinkotelo

Käytännön esimerkki

Alla oleva koodi käyttää kytkimen ohjausrakennetta näyttämään viestin viikonpäivästä riippuen.

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

}

?>

lähtö:

ladies night, take her out for dinner

PHP-silmukat

Silmukat ovat ohjausrakenteita, jotka toistavat koodilohkoa niin kauan kuin ehto pysyy voimassa. Ne säästävät saman lausekkeen kirjoittamiselta monta kertaa. PHP tukee neljää silmukkatyyppiä: for, while, do-while ja foreach. Tarkemman oppaan löydät erillisestä... PHP-silmukan opetusohjelma.

PHP For Loop

For-silmukkaa käytetään, kun tiedät etukäteen, kuinka monta kertaa koodia tulisi suorittaa. Se yhdistää laskurin, ehdon ja lisäyksen yhdelle riville.

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

lähtö:

01234

PHP While-silmukka

While-silmukka toistaa lohkoa niin kauan kuin sen ehto pysyy tosi. Ehto tarkistetaan ennen jokaista iteraatiota, joten runko voi suorittaa lohkon nolla kertaa.

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

lähtö:

01234

PHP Do-While -silmukka

Do-while-silmukka on kuin while-silmukka, mutta se tarkistaa ehdon rungon jälkeen. Tämä takaa, että lohko suoritetaan ainakin kerran.

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

lähtö:

01234

PHP Foreach-silmukka

Foreach-silmukka on suunniteltu taulukoille. Se käy läpi jokaisen elementin ilman, että sinun tarvitsee hallita indeksilaskinta.

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

lähtö:

red green blue

UKK

Käytä switch-operaattoria, kun vertaat yhtä muuttujaa useisiin kiinteisiin arvoihin, koska se on helpompi lukea kuin pitkä if-else-ketju. Käytä if-else-operaattoria alueille, monimutkaisille ehdoille tai eri muuttujien vertailuille.

break pysäyttää silmukan kokonaan ja siirtyy sitä seuraavaan koodiin. continue ohittaa nykyisen iteraation loppuosan ja hyppää seuraavaan lopettamatta silmukkaa kokonaan.

match on moderni vaihtoehto PHP 8:ssa esitellylle switch-funktiolle. Se palauttaa arvon, käyttää tarkkaa vertailua, ei tarvitse break-lauseita ja heittää virheen, jos mikään käsi ei täsmää, mikä tekee siitä turvallisemman ja ytimekkäämmän.

Kyllä. Tekoäly voi kirjoittaa pitkän if-else-ketjun uudelleen vastaavaksi kytkimeksi tai PHP 8:n vastinelausekkeeksi, keeping logiikka identtinen, mutta koodista tulee lyhyempi ja helpommin luettava. Testaa tulosta jälkikäteen.

Kyllä. Tekoäly voi tarkastaa silmukan ehdon ja laskurin, havaita puuttuvan lisäyksen tai ehdon, joka ei koskaan muutu epätosiksi, ja ehdottaa korjausta, jotta silmukka päättyy tarkoitetulla tavalla.

Tiivistä tämä viesti seuraavasti: