Tabela je posebna spremenljivka, ki lahko vsebuje več vrednosti pod enim samim imenom. Do teh vrednosti nato
enostavno dostopamo s sklicevanjem na indeksno številko ali poimenovan ključ. V PHP jeziku ločimo tri vrste tabel:
Indeksirane tabele (z numeričnim indeksom), Asociativne tabele (z imenovanimi ključi) in
Večdimenzionalne tabele (tabele, ki vsebujejo druge tabele). Elementi so lahko poljubni podatkovni
tipi: nizi, števila, objekti ali celo funkcije.
Indeksirane tabele uporabljajo številke (indekse) za dostop do svojih elementov. Ključno pravilo, ki ga mora usvojiti vsak začetnik, je, da se **štetje vedno začne z indeksno številko 0**, in ne 1. Te tabele so idealne za sezname elementov, kjer vrstni red igra pomembno vlogo, kot so seznami uporabnikov, vrstice iz baze podatkov ali preprosti nakupovalni seznami.
array() ali z uporabo oglatih
oklepajev []. To nam omogoča shranjevanje več povezanih podatkov v eno spremenljivko.count()
za ugotavljanje dolžine, sort() za urejanje in mnoge druge.Asociativne tabele nam namesto privzetih številk omogočajo, da vsakemu elementu poljubno dodelimo lasten,
poimenovan ključ (String). To počnemo z uporabo operatorja za dodeljevanje =>. Asociativne tabele so
izjemno močne za predstavitev strukturiranih podatkov (npr. podatki o avtomobilu, kjer so ključi znamka, model in
letnik), saj naredijo kodo veliko bolj berljivo in logično.
Večdimenzionalna tabela je preprosto povedano "tabela, ki znotraj sebe vsebuje eno ali več drugih tabel". PHP podpira gnezdenje tabel do poljubne globine (dvodimenzionalne, trodimenzionalne itd.). Te strukture se najpogosteje uporabljajo za shranjevanje kompleksnejših tabelaričnih podatkov, matrik ali podatkovnih struktur, ki so naložene iz relacijskih baz podatkov.
| Koncept / Operacija | Opis delovanja | Primer (Koda za simulator) |
|---|---|---|
| Indeksirane tabele | V indeksiranih tabelah ima vsak element avtomatsko dodeljeno indeksno številko. | $avti = ["Audi", "BMW", "Volvo"]; echo $avti[1]; // Izpiše BMW |
| Sprememba vrednosti z indeksom | Za spremembo vrednosti določenega elementa se neposredno sklicujemo na njegovo številko indeksa. | $barve = ["rdeča", "zelena"]; $barve[1] = "modra"; print_r($barve); |
| Zankanje skozi indeksirano tabelo | Če želimo pregledati in izpisati vse vrednosti indeksirane tabele, uporabimo zanko
foreach. |
$sadje = ["Jabolko", "Banana"]; foreach ($sadje as $s) { echo $s . " "; } |
| Indeksna številka | Ključ indeksirane tabele je vedno celo število, privzeta vrednost prvega elementa pa je indeks 0. | $t = ["A", "B"]; echo "Prvi indeks je: " . key($t); // 0 |
| Asociativne tabele | Asociativne tabele uporabljajo imenovane tekstovne ključe, ki jih elementom dodelimo ročno. | $starost = ["Peter" => 35, "Ana" => 28]; echo $starost["Ana"]; |
| Dostop do asociativnih tabel | Za dostop do želene vrednosti znotraj asociativne tabele se sklicujemo na ime njenega ključa v narekovajih. | $oseba = ["ime" => "Janez"]; echo $oseba["ime"]; |
| Sprememba vrednosti s ključem | Če želimo posodobiti ali spremeniti vrednost elementa asociativne tabele, uporabimo ime njegovega ključa. | $cene = ["kava" => 1.5]; $cene["kava"] = 1.8; echo $cene["kava"]; |
| Zankanje skozi asociativno tabelo | Z uporabo foreach ($t as $k => $v) lahko enostavno izpišemo tako ključe kot njihove
vrednosti. |
$t = ["SLO" => "Ljubljana"]; foreach($t as $k => $v) { echo "$k: $v"; } |
| Večvrstična tabela | Prelomi vrstic pri deklaraciji tabel niso pomembni, zato lahko zaradi preglednosti elemente pišemo v več vrstic. | $t = [ |
| Končna vejica za vsakim elementom | Zadnja vejica za zadnjim elementom v tabeli je v PHP-ju uradno dovoljena in preprečuje napake pri dodajanju novih vrstic. | $t = ["ena", "dva",]; echo count($t); // Izpiše 2 |
| Ključi tabele | Pri ustvarjanju indeksiranih tabel se ključi generirajo samodejno, če jih ne navedemo ročno. | $t = ["X", "Y"]; print_r(array_keys($t)); |
| Razglasitev praznega polja | Tabelo lahko najprej inicializiramo kot popolnoma prazno, elemente pa ji dinamično dodajamo kasneje v skripti. | $t = []; $t[] = "Prvi"; print_r($t); |
| Mešanje ključev tabele | PHP omogoča, da znotraj iste tabele brez težav mešamo numerične indekse in poimenovane asociativne ključe. | $t = [0 => "A", "ime" => "B"]; echo $t[0] . " " . $t["ime"]; |
| Dostop do elementa tabele | Do elementov dostopamo preko sintakse z oglatimi oklepaji, kamor vpišemo pripadajoči indeks ali ključ. | $t = ["podatek"]; echo $t[0]; |
| Dvojni ali enojni narekovaji | Pri dostopu do asociativnih ključev lahko uporabljamo enojne ali dvojne narekovaje, učinek je enak. | $t = ["k" => 1]; echo $t['k'] . $t["k"]; |
| Izvedi funkcijski element | Elementi tabele so lahko poljubni podatki, vključno z anonimnimi funkcijami, ki jih lahko pokličemo neposredno. | $t = [function() { return "Živjo"; }]; echo $t[0](); |
| Posodobitev elementa v tabeli | Z uporabo obstoječega ključa ali indeksa prepišemo staro vrednost z novo vrednostjo. | $t = ["stari"]; $t[0] = "novi"; echo $t[0]; |
| Posodobitev elementa v zanki | Če želimo spreminjati elemente znotraj foreach zanke, moramo pred spremenljivko
uporabiti referenco &. |
$t = [1, 2]; foreach($t as &$v) { $v *= 10; } print_r($t); |
| Dodajanje elementa tabeli | Če želimo dodati element na konec indeksirane tabele, preprosto uporabimo prazne oglate oklepaje
[]. |
$t = ["A"]; $t[] = "B"; print_r($t); // "B" dobi indeks 1 |
| Dodajanje elementa asociativni tabeli | Novemu poimenovanemu ključu znotraj oglatih oklepajev enostavno pripišemo želeno vrednost. | $t = ["a" => 1]; $t["b"] = 2; print_r($t); |
| Dodajanje elementov (array_push) | Za dodajanje enega ali več elementov na konec indeksirane tabele hkrati uporabimo funkcijo
array_push(). |
$t = [1]; array_push($t, 2, 3); print_r($t); |
| Dodajanje elementov asociativni tabeli (+=) | Za združevanje ali dodajanje manjkajočih elementov v asociativno tabelo lahko uporabimo operator
+=. |
$t = ["a" => 1]; $t += ["b" => 2, "c" => 3]; print_r($t); |
| Odstranitev elementa iz tabele | Za odstranitev elementa iz indeksirane tabele in ponovno uravnoteženje numeričnih indeksov
uporabimo array_splice(). |
$t = ["A", "B", "C"]; array_splice($t, 1, 1); print_r($t); // Odstrani B |
| Odstranitev več elementov | Z ustreznim parametrom dolžine v funkciji array_splice() lahko odstranimo poljubno
število zaporednih elementov. |
$t = [1, 2, 3, 4]; array_splice($t, 1, 2); print_r($t); // Odstrani 2 in 3 |
| Odstranitev iz asociativne tabele | Za izbris specifičnega elementa ali ključa iz asociativne tabele uporabimo vgrajeno funkcijo
unset(). |
$t = ["a" => 1, "b" => 2]; unset($t["a"]); print_r($t); |
| Uporaba funkcije array_diff() | Z uporabo array_diff() lahko filtriramo in odstranimo neželene vrednosti na podlagi
primerjave z drugo tabelo. |
$t = ["A", "B", "C"]; $rez = array_diff($t, ["B"]); print_r($rez); |
| Odstranitev prvega elementa | Funkcija array_shift() odstrani prvi element iz tabele in premakne vse ostale indekse
navzdol. |
$t = ["A", "B"]; echo array_shift($t); // Izpiše A |
| Odstranitev zadnjega elementa | Funkcija array_pop() odstrani in vrne popolnoma zadnji element iz izbrane tabele. |
$t = ["A", "B"]; echo array_pop($t); // Izpiše B |
| Razvrstitev v naraščajočem vrstnem redu | Funkcija sort() razvrsti elemente indeksirane tabele v naraščajočem abecednem ali
numeričnem vrstnem redu. |
$t = ["B", "A", "C"]; sort($t); print_r($t); |
| Razvrstitev v padajočem vrstnem redu | Funkcija rsort() razvrsti elemente indeksirane tabele v padajočem (obratnem) abecednem
ali numeričnem redu. |
$t = [1, 3, 2]; rsort($t); print_r($t); |
| Razvrstitev po vrednosti (asort) | Funkcija asort() razvrsti asociativno tabelo v naraščajočem vrstnem redu glede na
vrednosti, pri čemer ohrani ključe. |
$t = ["Janez" => 35, "Ana" => 25]; asort($t); print_r($t); |
| Razvrstitev po ključu (ksort) | Funkcija ksort() razvrsti asociativno tabelo v naraščajočem vrstnem redu glede na njene
ključe. |
$t = ["B" => 2, "A" => 1]; ksort($t); print_r($t); |
| Razvrstitev po vrednosti padajoče (arsort) | Funkcija arsort() razvrsti asociativno tabelo v padajočem vrstnem redu glede na njene
vrednosti. |
$t = ["Janez" => 35, "Ana" => 25]; arsort($t); print_r($t); |
| Razvrstitev po ključu padajoče (krsort) | Funkcija krsort() razvrsti asociativno tabelo v padajočem vrstnem redu glede na njene
ključe. |
$t = ["A" => 1, "B" => 2]; krsort($t); print_r($t); |
| Dvodimenzionalna tabela | Predstavlja tabelo tabel. Do njenih ugnezdenih elementov dostopamo z zaporedno uporabo dvojnih oglatih oklepajev. | $matrika = [[1, 2], [3, 4]]; echo $matrika[1][0]; // Vrstica 1, stolpec 0 -> Izpiše 3 |
Funkcije za tabele nam omogočajo dostop do tabel in upravljanje z njimi. Podprte so preproste in večdimenzionalne tabele. Funkcije za tabele so del PHP jedra, zato nam za njihovo uporabo ni potrebno nameščati ničesar dodatnega. Slovenski prevod za Array je tabela, zato bom uporabljal to slovensko besedo v vsaki vadnici.
| Ime funkcije | Opis delovanja | Primer (Koda za simulator) |
|---|---|---|
array() |
Ustvari novo tabelo. | $t = array(1, 2, 3); print_r($t); |
array_change_key_case() |
Spremeni vse ključe v tabeli v male ali velike črke. | $t = ["Ime" => 1]; print_r(array_change_key_case($t, CASE_LOWER)); |
array_chunk() |
Razdeli tabelo na več manjših delov (kosov) podane velikosti. | $t = [1, 2, 3, 4]; print_r(array_chunk($t, 2)); |
array_column() |
Vrne vrednosti iz enega samega stolpca v vhodni (večdimenzionalni) tabeli. | $u = [["id"=>1, "n"=>"A"], ["id"=>2, "n"=>"B"]]; print_r(array_column($u, "n")); |
array_combine() |
Ustvari tabelo tako, da uporabi eno tabelo za ključe in drugo za vrednosti. | $k = ["a", "b"]; $v = [1, 2]; print_r(array_combine($k, $v)); |
array_count_values() |
Prešteje pojavitve vseh enakih vrednosti v tabeli. | $t = ["A", "B", "A"]; print_r(array_count_values($t)); |
array_diff() |
Primerja tabele in vrne razliko (primerja samo vrednosti). | print_r(array_diff([1, 2, 3], [1, 2])); // Vrne 3 |
array_diff_assoc() |
Primerja tabele in vrne razliko (primerja tako ključe kot vrednosti). | print_r(array_diff_assoc(["a"=>1, "b"=>2], ["a"=>1, "b"=>5])); |
array_diff_key() |
Primerja tabele in vrne razliko (primerja samo ključe). | print_r(array_diff_key(["a"=>1, "b"=>2], ["a"=>5])); |
array_diff_uassoc() |
Primerja tabele in vrne razliko (ključe in vrednosti) z lastno funkcijo za primerjavo ključev. | print_r(array_diff_uassoc([1,2], [1], "strcasecmp")); |
array_diff_ukey() |
Primerja tabele in vrne razliko (samo ključe) z uporabo lastne funkcije za primerjavo ključev. | print_r(array_diff_ukey(["a"=>1], ["b"=>2], "strcasecmp")); |
array_fill() |
Napolni tabelo s podanimi vrednostmi od določenega indeksa naprej. | print_r(array_fill(0, 3, "PHP")); // 3-krat izpiše PHP |
array_fill_keys() |
Napolni tabelo z vrednostmi za specifično podane ključe. | print_r(array_fill_keys(["a", "b"], 100)); |
array_filter() |
Filtrira elemente tabele s pomočjo funkcije povratтного klica (callback). | print_r(array_filter([1, 2, 3, 4], function($v){ return $v % 2 == 0; })); |
array_flip() |
Zamenja vse ključe z njihovimi pripadajočimi vrednostmi v tabeli. | $t = ["a" => "v"]; print_r(array_flip($t)); // "v" postane ključ |
array_intersect() |
Primerja tabele in vrne presek oziroma ujemanja (primerja samo vrednosti). | print_r(array_intersect([1, 2, 3], [2, 3, 4])); // Vrne 2, 3 |
array_intersect_assoc() |
Primerja tabele in vrne ujemanja (primerja tako ključe kot vrednosti). | print_r(array_intersect_assoc(["a"=>1], ["a"=>1, "b"=>2])); |
array_intersect_key() |
Primerja tabele in vrne ujemanja (primerja samo ključe). | print_r(array_intersect_key(["a"=>1, "b"=>2], ["a"=>5])); |
array_intersect_uassoc() |
Primerja tabele in vrne ujemanja (ključe in vrednosti) z lastno funkcijo za primerjavo ključev. | print_r(array_intersect_uassoc(["a"=>1], ["a"=>1], "strcasecmp")); |
array_intersect_ukey() |
Primerja tabele in vrne ujemanja (samo ključe) z uporabo lastne funkcije za primerjavo ključev. | print_r(array_intersect_ukey(["a"=>1], ["a"=>2], "strcasecmp")); |
array_key_exists() |
Preveri, ali določen ključ obstaja v tabeli (vrne true/false). | var_dump(array_key_exists("ime", ["ime" => "Borut"])); |
array_keys() |
Vrne vse ključe (ali indeksne številke) v tabeli. | print_r(array_keys(["a" => 1, "b" => 2])); |
array_map() |
Pošlje vsak element tabele lastni funkciji, ki vrne popolnoma nove vrednosti. | print_r(array_map(function($v){ return $v * 2; }, [1, 2, 3])); |
array_merge() |
Združi eno ali več tabel v eno samo skupno tabelo. | print_r(array_merge([1, 2], [3, 4])); |
array_merge_recursive() |
Rekurzivno združi eno ali več tabel v eno (vsebine enakih ključev združi v podtabelo). | print_r(array_merge_recursive(["a"=>1], ["a"=>2])); |
array_multisort() |
Razvrsti več tabel hkrati ali pa kompleksno večdimenzionalno tabelo. | $t = [3, 1, 2]; array_multisort($t); print_r($t); |
array_pad() |
Razširi tabelo na določeno dolžino z določeno polnilno vrednostjo. | print_r(array_pad([1, 2], 4, 0)); // Vrne [1, 2, 0, 0] |
array_pop() |
Odstrani in vrne popolnoma zadnji element iz tabele. | $t = [1, 2, 3]; echo array_pop($t); // Izpiše 3 |
array_product() |
Izračuna skupni zmnožek vseh številskih vrednosti v tabeli. | echo array_product([2, 3, 4]); // 2 * 3 * 4 = 24 |
array_push() |
Doda enega ali več elementov na sam konec tabele. | $t = [1]; array_push($t, 2, 3); print_r($t); |
array_rand() |
Vrne enega ali več poljubnih naključnih ključev iz tabele. | $t = ["a"=>1, "b"=>2, "c"=>3]; echo array_rand($t); |
array_reduce() |
Iterativno zmanjša tabelo na eno samo končno vrednost s pomočjo lastne funkcije. | echo array_reduce([1,2,3], function($c, $v){ return $c + $v; }, 0); |
array_replace() |
Zamenja vrednosti v prvi tabeli z vrednostmi iz vseh naslednjih tabel z enakimi ključi. | print_r(array_replace(["A", "B"], [0 => "X"])); // X zamenja A |
array_replace_recursive() |
Rekurzivno zamenja vrednosti v prvi tabeli z vrednostmi iz naslednjih tabel (v globino). | print_r(array_replace_recursive([["A"]], [["X"]])); |
array_reverse() |
Vrne novo tabelo z popolnoma obrnjenim vrstnim redom elementov. | print_r(array_reverse([1, 2, 3])); // Vrne [3, 2, 1] |
array_search() |
Išče podano vrednost v tabeli in vrne pripadajoči ključ, če jo najde. | echo array_search("BMW", ["a" => "Audi", "b" => "BMW"]); // b |
array_shift() |
Odstrani in vrne popolnoma prvi element iz tabele (in premakne indekse). | $t = [10, 20]; echo array_shift($t); // Izpiše 10 |
array_slice() |
Vrne varno izbrani del tabele (izrez) glede na odmik in dolžino. | print_r(array_slice(["A", "B", "C", "D"], 1, 2)); // B, C |
array_splice() |
Odstrani izbrane elemente iz tabele in jih po želji zamenja z novimi. | $t = [1, 2, 3]; array_splice($t, 1, 1, [99]); print_r($t); |
array_sum() |
Izračuna skupno vsoto vseh številskih vrednosti v tabeli. | echo array_sum([10, 20, 30]); // Izpiše 60 |
array_udiff() |
Primerja tabele in vrne razliko vrednosti z uporabo lastne funkcije za primerjavo. | print_r(array_udiff([2, 3], [3], function($a,$b){return $a-$b;})); |
array_udiff_assoc() |
Primerja tabele in vrne razliko (ključe in vrednosti) z lastno funkcijo za vrednosti. | print_r(array_udiff_assoc(["a"=>1], ["a"=>2], function($a,$b){return $a-$b;})); |
array_udiff_uassoc() |
Primerja tabele in vrne razliko z uporabo dveh lastnih funkcij za ključe in vrednosti. | print_r(array_udiff_uassoc([1], [1], "strcasecmp", "strcasecmp")); |
array_uintersect() |
Primerja tabele in vrne ujemanja vrednosti z uporabo lastne funkcije za primerjavo. | print_r(array_uintersect([1,2], [2], function($a,$b){return $a-$b;})); |
array_uintersect_assoc() |
Primerja tabele in vrne ujemanja (ključe in vrednosti) z lastno funkcijo za vrednosti. | print_r(array_uintersect_assoc(["a"=>1], ["a"=>1], function($a,$b){return $a-$b;})); |
array_uintersect_uassoc() |
Primerja tabele in vrne ujemanja z uporabo dveh lastnih funkcij za ključe in vrednosti. | print_r(array_uintersect_uassoc([1], [1], "strcasecmp", "strcasecmp")); |
array_unique() |
Odstrani vse podvojene vrednosti iz tabele in ohrani samo edinstvene. | print_r(array_unique([1, 2, 2, 3, 1])); // [1, 2, 3] |
array_unshift() |
Doda enega ali več elementov na sam začetek tabele. | $t = [2, 3]; array_unshift($t, 1); print_r($t); |
array_values() |
Vrne vse vrednosti iz tabele in hkrati ponastavi ključe na številke od 0 naprej. | print_r(array_values(["a" => "X", "b" => "Y"])); |
array_walk() |
Uporabi uporabniško funkcijo za vsak posamezni element v tabeli. | $t = [1, 2]; array_walk($t, function(&$v){ $v += 10; }); print_r($t); |
array_walk_recursive() |
Rekurzivno uporabi lastno funkcijo za vsak element v tabeli (vključno s podtabelami). | $t = [1, [2]]; array_walk_recursive($t, function($v){ echo $v; }); |
arsort() |
Razvrsti tabelo v padajočem vrstnem redu glede na vrednosti (ohrani ključe). | $t = ["a"=>1, "b"=>5]; arsort($t); print_r($t); |
asort() |
Razvrsti tabelo v naraščajočem vrstnem redu glede na vrednosti (ohrani ključe). | $t = ["a"=>5, "b"=>1]; asort($t); print_r($t); |
compact() |
Ustvari asociativno tabelo iz imen obstoječih spremenljivk in njihovih vrednosti. | $ime = "Borut"; $rez = compact("ime"); print_r($rez); |
count() |
Vrne skupno število vseh elementov v tabeli. | echo count([1, 2, 3, 4]); // Izpiše 4 |
current() |
Vrne trenutni element v tabeli (tam, kjer se trenutno nahaja notranji kazalec). | $t = ["A", "B"]; echo current($t); // A |
end() |
Premakne notranji kazalec tabele na popolnoma zadnji element in ga vrne. | $t = ["A", "B", "C"]; echo end($t); // C |
extract() |
Uvozi ključe tabele kot prave spremenljivke v trenutni programski prostor. | extract(["x" => 99]); echo $x; // Izpiše 99 |
in_array() |
Preveri, ali določena vrednost obstaja v tabeli (vrne true/false). | var_dump(in_array("v", ["a", "v", "c"])); |
key() |
Vrne ključ oziroma indeksno mesto trenutnega elementa v tabeli. | $t = ["a" => 1, "b" => 2]; next($t); echo key($t); // b |
krsort() |
Razvrsti asociativno tabelo v padajočem vrstnem redu glede na njene ključe. | $t = ["a"=>1, "b"=>2]; krsort($t); print_r($t); |
ksort() |
Razvrsti asociativno tabelo v naraščajočem vrstnem redu glede na njene ključe. | $t = ["b"=>2, "a"=>1]; ksort($t); print_r($t); |
list() |
Dodeli vrednosti iz tabele seznamu poljubno imenovanih spremenljivk. | list($prvi, $drugi) = [10, 20]; echo $prvi; // 10 |
natcasesort() |
Razvrsti tabelo z uporabo naravnega algoritma (brez upoštevanja velikosti črk). | $t = ["img12", "IMG2", "img1"]; natcasesort($t); print_r($t); |
natsort() |
Razvrsti tabelo z uporabo naravnega algoritma človeškega štetja (z upoštevanjem črk). | $t = ["slika10", "slika2", "slika1"]; natsort($t); print_r($t); |
next() |
Premakne notranji kazalec tabele na naslednji element in ga vrne na zaslon. | $t = [10, 20]; echo next($t); // Izpiše 20 |
pos() |
Vzdevek (alias) za funkcijo current(). Vrne trenutni element kazalca. |
$t = ["X", "Y"]; echo pos($t); // X |
prev() |
Premakne notranji kazalec tabele na prejšnji element in ga vrne nazaj. | $t = [10, 20]; next($t); echo prev($t); // 10 |
range() |
Ustvari avtomatsko tabelo, ki vsebuje določen obseg številk ali črk. | print_r(range(1, 5)); // Ustvari [1, 2, 3, 4, 5] |
reset() |
Ponastavi notranji kazalec tabele nazaj na popolnoma prvi element in ga vrne. | $t = [1, 2, 3]; next($t); echo reset($t); // 1 |
rsort() |
Razvrsti elemente tabele v padajočem vrstnem redu in ji ponastavi numerične ključe. | $t = [1, 3, 2]; rsort($t); print_r($t); |
shuffle() |
Premeša vse elemente znotraj tabele v popolnoma naključen vrstni red. | $t = [1, 2, 3, 4]; shuffle($t); print_r($t); |
sizeof() |
Uradni vzdevek (alias) za funkcijo count(). Vrne število vseh elementov. |
echo sizeof([1, 2, 3]); // Izpiše 3 |
sort() |
Razvrsti elemente tabele v naraščajočem vrstnem redu in ji ponastavi ključe na številke. | $t = [3, 1, 2]; sort($t); print_r($t); |
uasort() |
Razvrsti tabelo z lastno primerjalno funkcijo in hkrati ohrani ključe. | $t=["a"=>3,"b"=>1]; uasort($t, function($a,$b){return $a-$b;}); print_r($t); |
uksort() |
Razvrsti tabelo po njenih ključih z uporabo lastne primerjalne funkcije. | $t=["b"=>1,"a"=>2]; uksort($t, "strcasecmp"); print_r($t); |
usort() |
Razvrsti tabelo po vrednostih z lastno funkcijo in ji ponastavi ključe na številke. | $t=[3,1,2]; usort($t, function($a,$b){return $a-$b;}); print_r($t); |