Matrika je posebna spremenljivka, ki lahko vsebuje veliko vrednosti pod enim imenom, do vrednosti pa lahko dostopamo s sklicevanjem na indeksno številko ali ime. V PHP obstajajo tri vrte matrik (arrays) in sicer Indeksirane matrike, to so polja z numeričnim indeksom, Asociativne matrike vsebujejo enega ali več ključev in na koncu še Večdimenzionalne matrike, ki vsebujejo eno ali več matrik. Elementi matrike so lahko katere koli vrste podatkov, najpogostejši so nizi in števila (int, float), matrične postavke pa so lahko tudi objekti, funkcije ali celo matrike. V isti matriki imamo lahko različne vrste podatkov, poglejmo si na primeru.
Matrika shrani več vrednosti v eno spremenljivko. Matriko ustvarimo s funkcijo array() kjer uporabimo oklepaje za vpis elementov. Lahko pa tudi uporabimo krajšo sintakso z oglatimi oklepaji []. Ustvarimo tabelo $sadje z naslednjimi elementi:
$sadje = array("Ananas", "Breskve", "Češnje", "Jagode", "Maline", "Naktarine");
<?php $sadje = array("Ananas", "Breskve", "Češnje", "Jagode", "Maline", "Naktarine"); // echo = "\n"; smo dodali zgolj zaradi izgleda echo "\n"; // izpiše strukturo in vrednosti tabele $sadje z uporabo funkcije var_dump() var_dump($sadje);
C:\xampp\php\php.exe -c C:\xampp\php\php.ini "C:\Users\" array(6) { [0]=> string(6) "Ananas" [1]=> string(7) "Breskve" [2]=> string(8) "Češnje" [3]=> string(6) "Jagode" [4]=> string(6) "Maline" [5]=> string(9) "Naktarine" } Process finished with exit code 0
Elementi matrike so lahko katere koli vrste podatkov. Najpogostejši so nizi in števila, matrične postavke pa so lahko tudi objekti, funkcije ali celo matrike. V isti matriki imamo lahko različne vrste podatkov. Razlaga primera: imeFunkcije shranimo kot niz v matriki. Funkcijo pokličemo z uporabo shranjenega niza z dodajanjem () po dostopu do elementa matrike.
<?php // primer funkcije function imeFunkcije() { echo "\nDobrodošli v PHP Array vadnico!"; } // ustvarimo matriko $sadje = array("Banane", 5, ["Limone", "Jagode"], 'imeFunkcije'); // klicanje funkcije iz elementa matrike echo $sadje[3]() . "\n";
C:\xampp\php\php.exe -c C:\xampp\php\php.ini "C:\Users\" Dobrodošli v PHP Array vadnico! Process finished with exit code 0
Resnična moč PHP matrike so vgrajene funkcije polja, kot je funkcija count() za štetje elementov polja. Za celoten pregled funkcij matrike pojdite v mojo celotno PHP Array Knjižnico.
<?php $sadje = array("Ananas", "Banane", "Borovnice", "Limone", "Jagode"); echo "\n" . "Število elementov v matriki je " . count($sadje) . "\n";
C:\xampp\php\php.exe -c C:\xampp\php\php.ini "C:\Users\" Število elementov v matriki je 5 Process finished with exit code 0
V spodnji tabeli si poglejmo kaj še vse lahko storimo z matrikami:
Indeksirane matrike | V indeksiranih matrikah ima vsak element indeksno številko. | Glej primer |
---|---|---|
Sprememba vrednosti matrike s številko indeksa | Za spremembo vrednosti matrike, uporabimo številko indeksa. | Glej primer |
Zankanje skozi indeksirano matriko | Če želimo pregledati in natisniti vse vrednosti indeksirane matrike, uporabimo zanko foreach. | Glej primer |
Indeksna številka | Ključ indeksirane matrike je številka, in privzeta vrednost prvega elementa je indeks 0. | Glej primer |
Asociativne matrike | Asociativne matrike uporabljajo imenovane ključe, ki jih dodelimo. | Glej primer |
Dostop do asociativnih matrik | Za dostop do elementa matrike se lahko sklicujemo na ime ključa. | Glej primer |
Sprememba vrednosti matrike s ključem | Če želimo spremeniti vrednost elementa matrike, uporabimo ime ključa. | Glej primer |
Zankanje skozi asociativno matriko | Če želimo izpisati in pogledati vse vrednosti asociativne matrike, lahko uporabimo foreach zanko. | Glej primer |
Več vrstična matrika | Prelomi vrstic niso pomembni, zato lahko deklaracija polja zahteva zajem več vrstic. | Glej primer |
Končna vejica za vsakim elementom | Vejica za zadnjim elementom je dovoljena. | Glej primer |
Ključi matrike | Pri ustvarjanju indeksiranih matrik so ključi podani samodejno. | Glej primer |
Razglasitev praznega polja matrike | Ko izdelujemo matriko lahko najprej deklariramo prazno matriko in šele kasneje dodamo elemente. | Glej primer |
Mešanje ključev matrike | Pri delu z matrikami lahko uporabimo indeksirane ali poimenovane ključe. | Glej primer |
Dostop do elementa matrike | Za dostop do elementa matrike se lahko sklicujemo na številko indeksa ali ime ključa. | Glej primer |
Dvojni ali enojni narekovaji | Pri delu z matrikami lahko za dostop do matrike uporabljamo dvojne ali enojne narekovaje. | Glej primer |
Izvedi funkcijski element | Elementi matrike so lahko katere koli vrste podatkov, vključno s funkcijo. | Glej primer |
Posodobitev elementa v matriki | Če želimo posodobiti obstoječi element matrike, se sklicujemo na številko indeksa ali ime ključa. | Glej primer |
Posodobitev elementa matrike v zanki | Pri spreminjanju vrednosti postavk v foreach zanki lahko uporabimo različne tehnike. | Glej primer |
Dodajanje elementa matriki | Če želimo dodati element v obstoječo matriko, lahko za to uporabimo oglati oklepaj []. | Glej primer |
Dodajanje elementa asociativni matriki | Če želimo dodati element asociativni matriki, uporabimo oglate oklepaje [] za vpis ključa. | Glej primer |
Dodajanje elementov matriki | Če želimo obstoječi matriki dodati več elementov uporabimo array_push() funkcijo. | Glej primer |
Dodajanje elementov asociativni matriki | Za dodajanje večih elementov asociativni matriki lahko uporabimo += operator. | Glej primer |
Odstranitev elementa iz matrike | Da odstranimo obstoječ element iz matrike, lahko uporabimo array_splice() funkcijo. | Glej primer |
Odstranitev elementov iz matrike | Če želimo odstraniti več elementov iz matrike uporabimo funkcijo array_splice(). | Glej primer |
Odstranitev elementov iz asociativne matrike | Če želimo odstraniti elemente iz asociativne matrike, lahko uporabimo unset() funkcijo. | Glej primer |
Uporaba funkcije array_diff() | Uporabimo lahko tudi funkcijo array_diff(), da odstranimo elemente iz asociativne matrike. | Glej primer |
Odstranitev prvega elementa | Funkcija array_shift() odstrani prvi element matrike. | Glej primer |
Odstranitev zadnjega elementa | Funkcija array_pop() odstrani zadnji element matrike. | Glej primer |
Razvrstitev matrike v naraščajočem vrstnem redu | Primer razvršča elemente matrike v naraščajočem abecednem vrstnem redu. | Glej primer |
Razvrstitev matrike v padajočem vrstnem redu | Primer razvršča elemente matrike v padajočem abecednem vrstnem redu. | Glej primer |
Razvrstitev matrike glede na vrednost v naraščajočem vrstnem redu | Primer razvršča asociativno matriko v naraščajočem vrstnem redu glede na vrednost. | Glej primer |
Razvrstitev matrike glede na ključ v naraščajočem vrstnem redu | Primer razvršča asociativno matriko v naraščajočem vrstnem redu glede na ključ. | Glej primer |
Razvrstitev matrike glede na vrednost v padajočem vrstnem redu | Primer razvršča asociativno matriko v padajočem vrstnem redu glede na vrednost. | Glej primer |
Razvrstitev matrike glede na ključ v padajočem vrstnem redu | Primer razvršča asociativno matriko v padajočem vrstnem redu glede na ključ. | Glej primer |
Dvodimenzionalna matrika | Večdimenzionalna matrika vsebuje eno ali več matrik, ki jih PHP podpira. | Glej primer |