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

Operatori i izrazi

Od jednostavnih vrijednosti gradimo izraze, usporedbe i sigurne zadane vrijednosti bez skrivenih pretvorbi.

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

Nakon ovog poglavlja

Što ćete znati napraviti

  • Koristiti aritmetičke, tekstualne, usporedne i logičke operatore.
  • Razlikovati == od === i odabrati strogu usporedbu.
  • Primijeniti ??, ternarni operator i PHP 8.5 pipe operator.

Program računa

Operatori povezuju vrijednosti

Izraz proizvodi vrijednost. Aritmetički operatori računaju, točka spaja stringove, a operatori usporedbe vraćaju bool. Zagrade koristite kada namjera nije trenutačno očita; nekoliko dodatnih znakova jeftinije je od pogrešnog prioriteta.

Iznosi u centima
<?php

$subtotal = 12000;
$discount = 1500;
$taxRate = 0.25;

$taxable = $subtotal - $discount;
$total = $taxable + (int) round($taxable * $taxRate);

Jasni uvjeti

Stroga usporedba kao zadano pravilo

Operator == dopušta pretvorbu tipova prije usporedbe, dok === traži isti tip i vrijednost. U aplikacijskom kodu najčešće želimo ===. Logički operatori &&, || i ! kombiniraju uvjete, ali predug uvjet bolje je izdvojiti u imenovanu varijablu ili funkciju.

Kombinirani uvjet
<?php

$role = 'editor';
$isActive = true;
$canPublish = $isActive && in_array($role, ['editor', 'admin'], true);

if ($canPublish) {
    echo 'Objava je dopuštena.';
}

Sažeto, ali čitljivo

Null coalescing, ternarni i pipe

Operator ?? bira desnu vrijednost kada lijeva ne postoji ili je null. Ternarni operator bira između dvije vrijednosti prema uvjetu. PHP 8.5 dodaje pipe operator |>, kojim rezultat lijevog izraza prosljeđujemo funkciji s desne strane. Koristite ga za kratke, linearne transformacije.

PHP 8.5
<?php

$query = $_GET['q'] ?? '';
$label = $query !== '' ? 'Rezultati' : 'Svi članci';

$slug = $query
    |> trim(...)
    |> mb_strtolower(...);

Primijenite naučeno

Vježba: Izračun košarice

Napišite izračun ukupne cijene s popustom i besplatnom dostavom iznad zadanog praga.

  1. Sve iznose držite u centima.
  2. Za usporedbe koristite === gdje su tip i vrijednost važni.
  3. Ispišite razumljivu poruku o dostavi.

Za provjeru i nastavak

Službeni izvori