Niz je zaporedje znakov, ki ga v PHP-ju obdamo z dvojnimi (") ali enojnimi (')
narekovaji. Ključno je, da niza ne začnete z enim in končate z drugim tipom narekovaja. Glavna razlika med njima je
v tem, da dvojni narekovaji omogočajo neposredno vstavljanje spremenljivk (npr. "$ime")
in posebnih ubežnih znakov (npr. \n za novo vrstico), medtem ko enojni narekovaji vse
obravnavajo kot golo besedilo.
Za hitrejše in lažje upravljanje z besedilom imamo v PHP-ju na voljo zbirko vgrajenih funkcij. Spodnji seznam prikazuje osnovna orodja za delo z nizi, ki jih boste najpogosteje uporabljali:
Pregled vgrajenih PHP funkcij za delo z nizi. Spodnje primere lahko neposredno kopirate v svoj urejevalnik za testiranje:
| Ime | Opis | Primer (Koda za testiranje) |
|---|---|---|
addcslashes() |
Vrne niz s poševnicami (backslash) pred določenimi znaki (C-style). | echo addcslashes("Borut", "A..Z"); |
addslashes() |
Vrne niz s poševnicami pred znaki, ki jih je treba ubežati (npr. narekovaji). | echo addslashes("O'Reilly"); |
bin2hex() |
Pretvori niz binarnih podatkov v šestnajstiški (hex) zapis. | echo bin2hex("PHP"); |
chop() |
Vzdevek za rtrim() - odstrani presledke ali znake z desne strani niza. | echo chop("Test "); |
chr() |
Vrne posamezen znak iz podane ASCII vrednosti. | echo chr(65); |
chunk_split() |
Razdeli niz na manjše dele določene dolžine (uporabno za base64 prenose). | echo chunk_split("ABCDEF", 2, "-"); |
convert_uudecode() |
Dekodira niz, ki je bil kodiran z algoritmom uuencode. | echo convert_uudecode("#44HP``\n"); |
convert_uuencode() |
Kodira niz z uporabo algoritma uuencode. | echo convert_uuencode("Test"); |
count_chars() |
Vrne statistiko o uporabi vseh znakov v nizu. | print_r(count_chars("Borut", 1)); |
crc32() |
Izračuna 32-bitni ciklični redundančni pregled (CRC) za niz. | echo crc32("Vadnica"); |
crypt() |
Enosmerno kriptiranje niza (hash). | echo crypt("geslo123", "sol"); |
echo() |
Izpiše enega ali več nizov neposredno v izhod. | echo "Živjo", " svet"; |
explode() |
Razbije niz v tabelo (array) glede na določeno ločilo. | print_r(explode(",", "a,b,c")); |
fprintf() |
Zapiše oblikovan niz neposredno v odprto datoteko. | $f = fopen("t.txt", "w"); fprintf($f, "%d", 10); |
get_html_translation_table() |
Vrne tabelo prevodov, ki jo uporabljata htmlentities() in htmlspecialchars(). | print_r(get_html_translation_table(HTML_SPECIALCHARS)); |
hex2bin() |
Pretvori šestnajstiški zapis nazaj v binarni niz znakov. | echo hex2bin("504850"); |
html_entity_decode() |
Pretvori HTML entitete (npr. <) nazaj v znake (<). | ▶ Primer kode |
htmlentities() |
Pretvori vse znake, ki so primerni, v HTML entitete. | ▶ Primer kode |
htmlspecialchars() |
Pretvori posebne znake (kot so <, >, &) v HTML entitete. | ▶ Primer kode |
htmlspecialchars_decode() |
Pretvori posebne HTML entitete nazaj v znake. | ▶ Primer kode |
implode() |
Združi elemente tabele v en niz z uporabo ločila (isto kot join). | echo implode("-", [1, 2, 3]); |
join() |
Vzdevek za implode() - združi tabelo v niz. | echo join(" ", ["Borut", "kodira"]); |
lcfirst() |
Pretvori prvo črko niza v malo črko. | echo lcfirst("PHP"); |
levenshtein() |
Izračuna Levenshtein-ov razkorak (razdaljo) med dvema nizoma. | echo levenshtein("mačka", "točka"); |
localeconv() |
Vrne nastavitve za formatiranje števil in denarja glede na lokalizacijo. | print_r(localeconv()); |
ltrim() |
Odstrani presledke ali določene znake z leve strani niza. | echo ltrim(" niz"); |
md5() |
Izračuna MD5 zgoščeno vrednost (hash) niza. | echo md5("test"); |
md5_file() |
Izračuna MD5 zgoščeno vrednost za celotno datoteko. | echo md5_file("index.php"); |
metaphone() |
Izračuna fonetični ključ niza (kako beseda zveni v angleščini). | echo metaphone("programming"); |
nl2br() |
Vstavi HTML prelome vrstic (<br />) pred vse nove vrstice v nizu. | echo nl2br("Prva\nDruga"); |
number_format() |
Formatira število s tisočicami in poljubnim številom decimalk. | echo number_format(1500.75, 2, ",", "."); |
ord() |
Vrne številsko ASCII vrednost prvega znaka v nizu. | echo ord("A"); |
parse_str() |
Razčleni niz (kot pri URL poizvedbi) v spremenljivke. | parse_str("ime=Borut", $izhod); print_r($izhod); |
print() |
Izpiše niz (podobno kot echo, a vrne 1). | print("Tekst"); |
printf() |
Izpiše oblikovan niz po določenih pravilih (%s, %d itd.). | printf("Leta: %d", 52); |
preg_replace() |
Išče vzorce in jih zamenja z novim besedilom. | echo preg_replace("/\d+/", "X", "Koda123"); |
preg_match() |
Preveri, ali se vzorec pojavi v nizu (vrne 0 ali 1). | echo preg_match("/php/i", "PHP koda"); |
preg_match_all() |
Poišče vsa ujemanja vzorca v nizu in jih shrani v tabelo. | preg_match_all("/\d/", "1a2b3c", $m); print_r($m); |
preg_split() |
Razdeli niz v tabelo glede na določen vzorec (Regex). | print_r(preg_split("/[\s,]+/", "a, b c")); |
preg_grep() |
Vrne elemente tabele, ki ustrezajo določenemu vzorcu. | print_r(preg_grep("/^p/", ["php", "html", "python"])); |
preg_quote() |
Doda ubežne znake (backslash) posebnim Regex znakom. | echo preg_quote("usd$"); |
quoted_printable_decode() |
Dekodira niz iz zapisa quoted-printable v 8-bitni niz. | echo quoted_printable_decode("Borut=3DA"); |
quoted_printable_encode() |
Pretvori 8-bitni niz v zapis quoted-printable. | echo quoted_printable_encode("Borut="); |
quotemeta() |
Doda poševnico pred vse posebne znake (npr. . \ + * [ ^ ] ( $ )). | echo quotemeta("Zdravo. Kako si?"); |
rtrim() |
Odstrani presledke ali določene znake z desne strani niza. | echo rtrim("niz "); |
setlocale() |
Nastavi področne nastavitve (jezik, denar, čas). | echo setlocale(LC_ALL, "sl_SI.utf8"); |
sha1() |
Izračuna SHA-1 zgoščeno vrednost niza. | echo sha1("koda"); |
sha1_file() |
Izračuna SHA-1 zgoščeno vrednost za datoteko. | echo sha1_file("index.php"); |
similar_text() |
Izračuna stopnjo podobnosti med dvema nizoma v odstotkih. | echo similar_text("Borut", "Gorut", $p); echo " ($p%)"; |
soundex() |
Izračuna soundex ključ niza (fonetično iskanje priimkov). | echo soundex("Smith"); |
sprintf() |
Vrne oblikovan niz (namesto da bi ga izpisal). | $s = sprintf("Cena: %d€", 10); echo $s; |
sscanf() |
Razčleni vhodni niz glede na podano obliko (format). | sscanf("ID: 456", "ID: %d", $id); echo $id; |
str_contains() |
Preveri, če niz vsebuje določen podniz (Novo v PHP 8.0). | var_dump(str_contains("Vadnica PHP", "PHP")); |
str_ends_with() |
Preveri, če se niz konča z določenim podnizom (Novo v PHP 8.0). | var_dump(str_ends_with("slika.png", ".png")); |
str_getcsv() |
Razčleni CSV niz v tabelo. | print_r(str_getcsv("Borut,52,Slovenija", ",", '"', "\\")); |
str_ireplace() |
Zamenja podnize (neobčutljivo na velike/male črke). | echo str_ireplace("php", "JS", "Učim se PHP"); |
str_pad() |
Dopolni niz do določene dolžine z drugim nizom. | echo str_pad("1", 3, "0", STR_PAD_LEFT); |
str_repeat() |
Ponovi niz določeno število krat. | echo str_repeat("X", 5); |
str_replace() |
Zamenja vse pojavitve iskanega podniza z novim nizom. | echo str_replace("rdeča", "modra", "rdeča barva"); |
str_rot13() |
Izvede ROT13 transformacijo na nizu. | echo str_rot13("PHP"); |
str_shuffle() |
Naključno premeša vse znake v nizu. | echo str_shuffle("Borut"); |
str_split() |
Razdeli niz v tabelo, kjer je vsak element določene dolžine. | print_r(str_split("KODA", 2)); |
str_starts_with() |
Preveri, če se niz začne z določenim podnizom (Novo v PHP 8.0). | var_dump(str_starts_with("https://v", "https")); |
str_word_count() |
Prešteje število besed v nizu. | echo str_word_count("PHP je super"); |
strcasecmp() |
Binarna primerjava dveh nizov (neobčutljivo na velike/male črke). | echo strcasecmp("Test", "test"); |
strchr() |
Vzdevek za strstr() - najde prvo pojavitev znaka. | echo strchr("uporabnik@mail.com", "@"); |
strcmp() |
Binarna primerjava dveh nizov (občutljivo na velike/male črke). | echo strcmp("Test", "Test"); |
strcoll() |
Primerjava dveh nizov glede na lokalizacijo (locale). | echo strcoll("a", "b"); |
strcspn() |
Vrne dolžino začetnega dela niza, ki NE vsebuje podanih znakov. | echo strcspn("Borut123", "0123456789"); |
strip_tags() |
Odstrani HTML in PHP značke iz niza. | echo strip_tags("Krepko"); |
stripcslashes() |
Odstrani poševnice, dodane s funkcijo addcslashes(). | echo stripcslashes("B\orut"); |
stripslashes() |
Odstrani poševnice, dodane s funkcijo addslashes(). | echo stripslashes("O'Reilly"); |
stripos() |
Najde položaj prve pojavitve podniza (neobčutljivo na velike/male črke). | echo stripos("Avto", "v"); |
stristr() |
Vrne del niza od prve pojavitve podniza naprej (neobčutljivo na velike/male črke). | echo stristr("Test@Domena", "d"); |
strlen() |
Vrne skupno število znakov (dolžino) niza. | echo strlen("Koda"); |
strnatcasecmp() |
Primerjava dveh nizov z "naravnim" algoritmom (neobčutljivo na velike/male črke). | echo strnatcasecmp("slika10.png", "slika2.png"); |
strnatcmp() |
Primerjava dveh nizov z "naravnim" algoritmom (občutljivo na velike/male črke). | echo strnatcmp("10", "2"); |
strncasecmp() |
Primerja prvih N znakov dveh nizov (neobčutljivo na velike/male črke). | echo strncasecmp("Borut", "BOR", 3); |
strncmp() |
Primerja prvih N znakov dveh nizov (občutljivo na velike/male črke). | echo strncmp("Koda1", "Koda2", 4); |
strpbrk() |
Išče niz za katerim koli znakom iz podanega nabora. | echo strpbrk("Borut", "ut"); |
strpos() |
Najde položaj prve pojavitve podniza (občutljivo na velike/male črke). | echo strpos("Program", "g"); |
strrchr() |
Najde zadnjo pojavitev znaka v nizu in vrne preostanek. | echo strrchr("pot/do/datoteke.txt", "/"); |
strrev() |
Obrne niz znakov (zadnji postane prvi). | echo strrev("ABC"); |
strripos() |
Najde položaj zadnje pojavitve podniza (neobčutljivo na velike/male črke). | echo strripos("abcABC", "a"); |
strrpos() |
Najde položaj zadnje pojavitve podniza (občutljivo na velike/male črke). | echo strrpos("abcABC", "a"); |
strspn() |
Vrne dolžino začetnega dela niza, ki vsebuje SAMO podane znake. | echo strspn("123abc", "0123456789"); |
strstr() |
Vrne del niza od prve pojavitve podniza naprej (občutljivo na velike/male črke). | echo strstr("ime@domena.com", "@"); |
strtok() |
Razbije niz na manjše dele (žetone) glede na ločila. | $t = strtok("a b", " "); echo $t; |
strtolower() |
Pretvori celoten niz v male črke. | echo strtolower("MALE"); |
strtoupper() |
Pretvori celoten niz v velike črke. | echo strtoupper("velike"); |
strtr() |
Prevede določene znake ali zamenja podnize v nizu. | echo strtr("hallo", "a", "e"); |
substr() |
Vrne določen del (podniz) iz večjega niza. | echo substr("Slovenija", 0, 3); |
substr_compare() |
Binarna primerjava dveh delov niza od določenega odmika dalje. | echo substr_compare("abc", "bc", 1, 2); |
substr_count() |
Prešteje, kolikokrat se določen podniz pojavi v nizu. | echo substr_count("banana", "an"); |
substr_replace() |
Zamenja del niza z drugim nizom na določenem mestu. | echo substr_replace("Koda", "X", 0, 1); |
trim() |
Odstrani presledke in druge znake z začetka in konca niza. | echo trim(" niz "); |
ucfirst() |
Pretvori prvo črko celotnega niza v veliko črko. | echo ucfirst("tekst"); |
ucwords() |
Pretvori prvo črko vsake besede v nizu v veliko črko. | echo ucwords("živjo svet"); |
vfprintf() |
Zapiše oblikovan niz (z argumenti v tabeli) v datoteko. | $f = fopen("t.txt", "w"); vfprintf($f, "%s", ["OK"]); |
vprintf() |
Izpiše oblikovan niz z argumenti, ki so podani v tabeli. | vprintf("Leta: %d", [52]); |
vsprintf() |
Vrne oblikovan niz z argumenti, ki so podani v tabeli. | $s = vsprintf("%s %s", ["A", "B"]); echo $s; |
wordwrap() |
Prelomi niz na določeno število znakov z uporabo ločilnega znaka. | echo wordwrap("Zelo dolg tekst", 5); |
Pri delu z nizi boste včasih naleteli na zapise, kot sta \120 (oktalno) ali \x50
(heksadecimalno). Računalniki v ozadju ne razumejo črk, ampak samo številke. Ti zapisi omogočajo programerjem, da
neposredno v besedilo vstavijo posebne ukaze, skrite simbole ali znake iz standardne ASCII tabele, ne da bi morali
tipkati dejanske črke.
chmod 755) ali pri naprednem reševanju varnostnih
izzivov.
| Heksadecimalni zapis | Omogoča vstavljanje znakov v niz s pomočjo šestnajstiških kod (npr. \x50 za črko P). | ▶ Primer kode |
|---|---|---|
| Oktalni zapis | Omogoča vstavljanje znakov v niz s pomočjo osmiških kod (npr. \120 za črko P). | ▶ Primer kode |