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

Polja

Učimo raditi s uređenim popisima i zapisima, bez gubljenja podataka u nejasnim ugniježđenim strukturama.

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

Nakon ovog poglavlja

Što ćete znati napraviti

  • Razlikovati indeksirana i asocijativna polja.
  • Sigurno čitati, dodavati, filtrirati i preslikavati elemente.
  • Prepoznati trenutak kada polje treba postati objekt.

Jedan tip, dvije uloge

Popis i mapa

PHP array je uređena mapa pa može glumiti popis i zapis s imenovanim ključevima. Za popis koristimo uzastopne brojčane ključeve, a za zapis jasne tekstualne ključeve. Miješanje obaju stilova u istom polju otežava rad.

Popis i zapis
<?php

$tags = ['php', 'sigurnost', 'web'];

$article = [
    'id' => 42,
    'title' => 'Moderni PHP',
    'published' => true,
];

Ključ možda ne postoji

Čitanje bez upozorenja

Operator ?? daje zadanu vrijednost ako ključ ne postoji ili sadrži null. array_key_exists razlikuje nepostojeći ključ od postojećeg ključa s null vrijednošću. isset je brz, ali za null vraća false.

Čitanje i promjena
<?php

$title = $article['title'] ?? 'Bez naslova';
$hasSummary = array_key_exists('summary', $article);

$tags[] = 'php-8.5';
unset($article['legacy_field']);

Namjerna obrada

map, filter i reduce

array_map pretvara svaki element, array_filter zadržava elemente koji prolaze uvjet, a array_reduce svodi skup na jednu vrijednost. Za poslovno složen niz koraka običan foreach često je čitljiviji.

Filtriranje i preslikavanje
<?php

$numbers = [3, 8, 12, 5];

$evenSquares = array_map(
    fn (int $number): int => $number ** 2,
    array_filter($numbers, fn (int $number): bool => $number % 2 === 0)
);

Primijenite naučeno

Vježba: Katalog članaka

Napravite polje od najmanje pet članaka i pripremite popis objavljenih naslova.

  1. Svaki članak neka ima id, title i published.
  2. Filtrirajte samo objavljene članke.
  3. Preslikajte rezultate u polje naslova.

Za provjeru i nastavak

Službeni izvori