<?> PHP NOVA invictum.hr
Izdanje 2026.
Poglavlje 11

Kontrolne strukture

Program počinje donositi odluke, ponavljati rad i rano prekidati nevaljane tokove.

20 min čitanja Početno razina PHP 8.5 ciljna verzija

Nakon ovog poglavlja

Što ćete znati napraviti

  • Pisati jasne if, match i switch odluke.
  • Odabrati foreach, for ili while prema problemu.
  • Smanjiti ugniježđenost ranim izlaskom.

Grananje toka

if za uvjete, match za vrijednosti

if je najbolji kada provjeravamo različite logičke uvjete. match je izraz: vraća vrijednost, koristi strogu usporedbu i ne propada u sljedeću granu. switch ostaje koristan u starijem kodu, ali traži oprezan break.

match izraz
<?php

$status = 'published';

$label = match ($status) {
    'draft' => 'Skica',
    'review' => 'Na provjeri',
    'published' => 'Objavljeno',
    default => 'Nepoznato',
};

Rad nad skupom

foreach je najčešći izbor

foreach čita elemente polja bez ručnog upravljanja indeksom. for je prikladan kada je brojač bit problema, a while kada ponavljanje traje dok vrijedi uvjet. Svaka petlja treba imati očit način završetka.

foreach
<?php

$articles = ['HTTP', 'PHP', 'Laravel'];

foreach ($articles as $position => $title) {
    echo ($position + 1) . '. ' . $title . PHP_EOL;
}

Ravan kod

Nevaljan slučaj riješite prvi

Duboko ugniježđeni if blokovi skrivaju glavni tok. U funkciji prvo provjerite preduvjete i vratite rezultat ili bacite iznimku. U petljama break završava petlju, a continue preskače trenutni element.

Guard clauses
<?php

function publish(array $article): string
{
    if (($article['title'] ?? '') === '') {
        return 'Naslov nedostaje.';
    }

    if (($article['approved'] ?? false) !== true) {
        return 'Članak nije odobren.';
    }

    return 'Objavljeno.';
}

Primijenite naučeno

Vježba: Status narudžbe

Pretvorite tehnički status narudžbe u korisničku poruku i boju oznake.

  1. Koristite match s obaveznom default granom.
  2. Prođite kroz polje više narudžbi pomoću foreach.
  3. Preskočite zapise koji nemaju identifikator.

Za provjeru i nastavak

Službeni izvori