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.
<?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.
<?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
$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.
- Sve iznose držite u centima.
- Za usporedbe koristite === gdje su tip i vrijednost važni.
- Ispišite razumljivu poruku o dostavi.
Za provjeru i nastavak