Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i...
Transcript of Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i...
![Page 1: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/1.jpg)
Visoka škola strukovnih studija za informacione i komunikacione tehnologije
Beograd
Osnove PHP-a
dr Nenad Kojić
![Page 2: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/2.jpg)
Pre početka…
• Pre početka učenja jezika jako je bitno da se razume značaj dokumentacije jezika i upotreba iste.
• Zvaničan sajt za PHP je http://php.net/
• Na tom sajtu se nalazi dokumentacija, koja pored opšte sintakse i pravila jezika ima veliki broj primera, komentara i sugestija
• http://php.net/manual
![Page 3: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/3.jpg)
Sintaksa php koda
Početna i krajnja oznaka PHP koda unutar web stranice su: 1. <? ?>
2. <?php ?>
3. <script language="php"> </script>
![Page 4: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/4.jpg)
Provera rada
<?php
phpinfo();
?>
![Page 5: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/5.jpg)
Gde i kao se piše PHP kod
• Kod može biti interni ili eksterni.
Za interno napisan kod:
• Stranica može da sadrži: samo php kod, php kod koji je integrisan u HTML ili HTML koji je integrisan u PHP
• U svim slučajevima stranica mora da ima ekstanziju .php
• Ako je stranica samo sa php kodom tada počinje sa <?php i završava se sa ?>
• Ako je HTML kod potrebno integrisati u PHP kod tada se on piše unutar echo().
• Ako je PHP kod potrebno integrisati u većinski HTML, tada se na tom mestu otvara php sekcija sa <?php --- ?>. Ovakvih sekcija unutar jedne HTML strane može biti neograničeno mnogo.
![Page 6: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/6.jpg)
Primer <html>
<head>Proba</head>
<body>
<p>Prvi pasus</p>
<?php
//ovde se kreira drugi pasus
echo("<p>Drugi pasus</p>");
?>
<p>Treci pasus</p>
<?php
//ovde se kreira horizontalna linija i tag H3
echo("<hr/>");
echo("<h3>Kraj</h3>");
?>
</body>
</html>
Originalni kod php strane Kod u browser-u
![Page 7: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/7.jpg)
<body> <h2> Postavka oglasa </h2> <table cellspacing="8"> <tr><td> e-mail: </td> <td><input type="text" name="mail"> </td> </tr> <tr><td><b style="color: red">*</b> <b>Marka: </b></td> <td> <?php $dbhost = 'localhost'; $dbuser = 'root'; $konekcija = @ mysqli_connect('localhost', 'root', '') or die('Veza sa bazom ne moze biti uspostavljena. Pokusajte
kasnije.'); echo ('<select name="marka" id="marka" onChange="prikaz()";/>'); echo "<option selected>--- Izaberite ---</option>"; while($niz = mysql_fetch_array($rezultat)){ echo ("<option value='$niz[0]'> $niz[0] </option>");} echo ('</select>'); mysql_close($konekcija); ?> </td> </tr> <tr><td>Godište: </td> <td> od: <?php $i=0; echo ('<select name="god_od">'); echo ("<option value='%'>--- Izaberite ---</option>"); for ($i=2009; $i>1929; $i--){ echo ("<option value='$i'> $i </option>"); } echo ('</select>'); ?> </body>
Primer
![Page 8: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/8.jpg)
Eksterni fajl
• Kao i kod drugih jezika, kod u PHP-u se može direktno pisati na tekućoj stranici ili “uvesti” kao spoljašnji fajl.
• Funkcija include(), kompletan sadržaj zadatog spoljašnjeg fajla postavlja u stranicu koja je taj kod pozvala.
• Ovaj kod se “kopira” na mesto gde je funkcija include pozvana
• Ovaj deo koda se tada ponaša kao sastavni deo početne stranice
<html> <body> <?php include("header.php");
?> <p> text</p> </body> </html>
![Page 9: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/9.jpg)
Eksterni fajl – include vs require
• Postoje četiri funkcije za učitavanje spoljašnjih fajlova:
• include – učitavanje spoljašnjeg fajla
• include_onse() – učitavanje fajla samo jednom
• require() – isto kao i include() sa razlikom što kod pojave greške (nemogućnosti rada) require() zaustavlja kod, a include samo generiše upozorenje o grešci
• require_onse() – isto kao i require() samo što proverava da li je dati fajl već učitan, pa ako jeste, ne uključuje ga ponovo
![Page 10: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/10.jpg)
Uključivanje datoteka
• Uključivanjem sadržaja spoljašnje datoteke može se u postojeću stranicu dodati tekst ili deo koda
• Naredba za uključivanje datoteke je include – Sintaksa include(“ime_datoteke”); – Primer include(“tekst.txt”)
• Nailaskom na ovaj red koda, ako je u tekst.txt definisan neki tekst, taj tekst bi se uključio u sadržaj stranice, kao da je kreiran u HTML-u
• Ako postoji potreba za više datoteka, onda se prave generička imena koja su slična, i koja se programski mogu pozvati – Primer : Ako postoji 10 datoteka sa imenima tekst1.txt, tekst2.txt,
..., tada se mogu kroz for petlju pozvati kao ime
$brojac=1; include (“tekst”.$brojac.”.txt”);
![Page 11: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/11.jpg)
HTML tagovi <span> i <div>
• Ova dva taga imaju vrlo veliku primenu kada se koristi PHP kod
• Razlog je što se kroz njih najlakše ispisuje sadržaj koji je dobijen od serverskog koda
• Njihovom upotrebom u inicijalnoj stranici, dok im se ne dodeli sadržaj, na mestu koje je za to predviđeno nema ništa
• Dobijanjem nekog podatka od servera, on se prikazuje na prostoru sajta gde se nalazi neki od ovih tagova
• Razlika među njima je veličina polja koja se dobija za ispis
• <span> tag se koristi kada se želi definisati deo teksta koji pripada jednoj liniji
• Ako se želi definisanje veće grupe teksta tada se koristi <div> tag.
![Page 12: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/12.jpg)
Kreiranje template-a
• Kod kreiranja stranica u PHP najčešće se prvo cela struktura organizuje u blokove i regione
• Svaki od blokova/regiona se učitava ponaosob, kreirajući na taj način “podlogu” za dinamički sajt
<HTML><HEAD><TITLE>PRIMER</TITLE></HEAD> <BODY> <DIV ID=“HEADER”>
<?php require_once "/include/header.html"; ?>
</DIV> sadržaj <DIV ID=“FOOTER”>
<? require_once "/include/footer.html"; ?> ....
![Page 13: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/13.jpg)
logo <?
require_once "/include/header.html";
?>
<?
require_once
"/include
/meni.html";
?>
Sadržaj
Search
<?
require_once
"/include
/desno.html";
?>
Slika
<?
require_once "/include /header.html";
?>
![Page 14: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/14.jpg)
Upotreba PHP koda
• Za razliku od prethodnog slajda gde se templet-om učitavaju html stranice češće će se učitavati php stranice, koje imaju neku svoju dinamiku (npr. meni iz baze podataka)
• Najčešće se sajt pravi u većinskom HTML kodu, a delovi sajta (divovi), koji su namenjeni nekim sadržajima, su pojedinačni php kodovi
• Na taj način jedna strana sajta je skup više nezavisnih php kodova od kojih svaki ima svoju namenu i dešava se nezavisno od ostalih
• Inicijalna mana PHP koda je što zahteva ponovno učitavanje stranice da bi prikazao sadržaj dobijen radom nekog PHP koda
• Ovaj nedostatak sa ponovnim učitavanjem strane je rešen primenom AJAX tehnologije i sada svaki deo strane, može biti celina za sebe, što daje velike mogućnosti na web-u
![Page 15: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/15.jpg)
Ispis u PHP-u naredbom echo
<html>
<head><title> Pocetak PHP-a</title></head>
<body bgcolor="#000FFF">
<?php
echo ("Tekst ispisan u PHP-u“); ?>
</body>
</html>
echo(“”); je naredba za ispis sadržaja u browser-u.
![Page 16: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/16.jpg)
Ispis HTML kod-a
• Sve što se nađe unutar funkcije echo ili print se ispisuje korisniku u browser-u (tako što to server prevede u HTML kod). Mogu se koristiti sa ili bez zagrada.
• Na ovaj način se kroz PHP ispisuju i HTML tagovi, kao što se u JavaScript-u to radilo sa
document.write (“nesto”); • Primer
<body> <?php echo ("<p><hr/>"); echo ("Tekst ispisan u PHP-u </p>"); echo ("<br/> Drugi tekst ispisan kroz PHP!"); ?> </body>
![Page 17: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/17.jpg)
<html>
<head>
<title>Moj prvi PHP skript</title>
</head>
<body>
<?php
print (“Zdravo narode!”);
?>
</body>
</html>
Primer - Ispis naredbom print
print(“”); je naredba za ispis sadržaja u browser-u.
![Page 18: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/18.jpg)
Ispisi u zavisnosti navoda <body>
<?php
$ime = "Nikola";
print "Zdravo $ime<br>";
// ispisuje Zdravo Nikola
print 'Zdravo $ime <br>';
echo 'Zdravo $ime <br>';
// ispisuje Zdravo $ime;
print “Zdravo \$ime <br>”; // ispisuje Zdravo $ime ******* escaped the variablename
?>
</body>
Primer
![Page 19: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/19.jpg)
Sintaksa PHP jezika
• Svaki iskaz u php-u mora se završiti sa ; • Iza komande dolaze znaci navoda gde se definiše na šta
komanda deluje echo ("Tekst ispisan u PHP-u“);
• Ukoliko je potrebno prikazati znake navoda a da se ne tumače kao sastavni deo komande treba u reči pre navoda staviti \
echo"Ova kuća je \"haos\" !";
Ova kuća je "haos" !
• Komentari su odvojeni sa #, //, /* - */
• Prva dva se definišu jednoredne i stavljaju se na početak svakog pojedinačnog reda, dok su druga dva za početak i kraj višerednih komentara
![Page 20: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/20.jpg)
• Pored klasičnog ispisivanja komandom echo postoje i specijalni znaci koji ostavljaju dodatne mogućnosti
Prelazak u novi red: uticajem servera ili html-a
• echo "Hallo\n";
• echo "Hallo<br\>";
Izlazne sekvence u znakovnim nizovima pod navodnicima
Znak Značenje
\n Nov red
\r Povratak u prvu kolonu (carriage-return)
\t Horizontalni tabulator
\\ Obrnuta kosa crta
\" Znak navoda
\$ Znak za dolar
Primer
![Page 21: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/21.jpg)
Komentari <?php
echo "Zdravo, svete!<br>"; // Ovo je komentar u jednom redu
// u stilu jezika C++
/* Ovo je blok komentara
u više redova. */ echo "Zdravo, još jednom.<br>";# Ovo je komentar u stilu
# komandnih okruženja Unixa
?>
<?php
/* Sledeći red će ispisati, "Ovo neće
ispisati ništa." */
?>
Ovo neće ispisati <?php # echo "nešto"; ?> ništa.<br>
![Page 22: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/22.jpg)
Ispis grupe tagova pomoću echo()
![Page 23: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/23.jpg)
Ispis Java script koda pomoću echo()
![Page 24: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/24.jpg)
Ispis Java script koda pomoću echo()
![Page 25: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/25.jpg)
Promenljive u PHP-u
• Počinju rezervisanim simbolom $, nakon čega ide ime promenljive, koja počinje slovom ili _
• Imena promenljivih su keysensitive
Primer:
$pera="Perica Peric";
$broj=15;
$niz[0]=22;
$niz1[22]="milence";
• Promenljive u svom imenu mogu da sadrže samo alpha-numeričke karaktre (a-Z, 0-9, and _ ) • Promenljive ne smeju da sadrže n space-ova •Ako promenljiva ima više reči moraju biti povezane sa _ ili međusobno spojene. ($my_string, $myString)
![Page 26: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/26.jpg)
Primer
![Page 27: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/27.jpg)
variable variable
• U PHP-u se pored dinamičke promene sadržaja može realizovati i dinamička promena imena promenljive (identifikator)
• Ako se promenljivoj telefon dodeli vrednost 20000 imamo:
– $telefon=20000;
• ali se isto može postići i sa: – $artikal="telefon";
– $$artikal=20000;
![Page 28: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/28.jpg)
case sensitive
• Imena varijabli su case sensitive!
• Tako $broj i $Broj nije ista promenljiva
• Imena naredbi, funkcija i klasa u PHP-u nisu case insensitive!
• Tako su funkcije count() i Count() iste
![Page 29: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/29.jpg)
Prenošenje po vrednosti i referenci
• Kao i u drugim jezicima i PHP podržava prenošenje parametara po vrednosti i po referenci.
• Prenošenje po vrednosti znači da se sadržaj jedne promenljive kopira u drugu i dalje svaka od njih „nastavlja da živi samostalno i nezavisno od druge“ <?php
$a=1; // promenljiva a je dobija vrednost 1
$b=$a; // promnljiva b dobija vrednost promenljive a tj. 1
$a += 2; // promenljiva a dobija vrednost 1+2=3
echo($a); //ispisuje 3
echo($b); //ispisuje 1
?>
![Page 30: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/30.jpg)
Prenošenje po vrednosti i referenci
• Prenošenje po referenci znači da se lokacija u memoriji jedne promenljive dodeljuje drugog, i da obe „gledaju“ na isto mesto i vide isti sadržaj tj. vrednost. Prenošenje po referenci se realizuje operatorom & <?php
$a=1; // promenljiva a je dobija vrednost 1
$b=&$a; // promnljiva b se upućuje na lokaciju na kojoj je promeljiva a i dobija vrednost 1
$a += 2; // promenljiva a dobija vrednost 1+2=3, i to je nova vrednost na lokaciji u memoriji
echo($a); //ispisuje 3
echo($b); //ispisuje 3 jer gleda istu lokaciju koju gleda i a
?>
![Page 31: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/31.jpg)
Konstante
• Promenljive su oznake kojima se neka vrednost može dodeliti i u toku koda promeniti
• Konstantama se vrednost ne može menjati
• Definišu se velikim slovima i pozivaju bez $
• Za konstante se uzimaju one veličine koji su sigurno fiksne (18% PDV, 3.14 Pi, 0 stepeni tačka leđenja...)
• Rezervisana reč za kreiranje konstante je DEFINE
• Primer
define(“BROJ-PI”, 3.14); echo (BROJ-PI);
define(“CENASVESKE”, 50);
define(“SKOLA”, “Visoka ICT”);
![Page 32: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/32.jpg)
Primer
![Page 33: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/33.jpg)
Tipovi podataka
Tip podataka Opis
Boolean Skalar, True ili False
Integer Skalar, ceo broj
Float Skalar, broj koji može imati decimale
String Skalar, grupa karaktera
Array Složen tip, sadrži imena mapirana na vrednosti
Object Složen tip, može sadržati svojstva i metode
Resource Specijalan tip, sadrži reference na spoljne resurse
NULL Specijalni tip, može sadrćati samo NULL kao vrednosti, a druge vrednosti ne
![Page 34: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/34.jpg)
Funkcije za proveru tipa podatka
• Funkcija kao argument dobija promenljivu a vraća 0 ili 1 ako je tip podatka potvrđen ili ne.
• Na raspolaganju su:
• is_long(), is_int(), is_integer(), is_double(), is_float(), is_real(), is_numeric()
• is_string()
• is_array, is_object()
• is_resource()
• is_null()
• is_callable – da li je to funkcija
![Page 35: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/35.jpg)
a) String (tekst)
• Stavljanjem pod znake navoda, promenljiva je automatski postala string, bez obzira na sadržaj
• Primer
$x=“Pera” $x1=“Pera Peric” $y=“5” $y1=“5.25” $z=“Pera Peric 225/25”
![Page 36: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/36.jpg)
Spajanje stringova
• Spajanje je proces dodavanja jednog stinga na neki drugi
• Spajanje se vrši sa simbolom . (U JavaScript-u je to +)
• Primer
$x=“Pera” $y=“Peric” $z=“ ” $ime= $x. $z. $y
• Spajanje je moguće i kroz komandu ispisa echo (U JavaScript-u je to document.write)
• Primer
$x=“Pera” $y=“Peric” echo “Ime studenta je: $x , a prezime: $y” • Dužina stringa određuje se funkcijom strlen
– Primer: echo strlen("Hello world!"); vraća 12
![Page 37: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/37.jpg)
Funkcije za string-ove
![Page 38: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/38.jpg)
Primer funkcija za rad sa stringovima
$string = “Pera ide u skolu!”;
$duzinaStringa = strlen($string );
$deoStringaIzaSpace = strstr($string , " ");
$pozicijaKarateraO = strpos($string , "o");
P E R A I D E U S K O L U !
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
![Page 39: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/39.jpg)
Primer funkcije substr
<?php
$string = "Pera ide u skolu!"; echo substr($string, 1);
echo substr($string, 2, 6);
echo substr($string, 0, 4);
echo substr($string, -1);
echo substr($string, -3);
echo substr($string, -5, -3);
echo substr($string, -3, 2);
?>
P E R A I D E U S K O L U !
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
-5 -4 -3 -2 -1
Funkcija substr(a,b) vraća deo stringa počev od pozicije a u dužini b Ukoliko parametar b ne postoji, uzima se ceo string do kraja!
![Page 40: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/40.jpg)
Kriptovanje podataka
• Najčešće korišćene funkcije za kriptovanje podataka su md5() i sha1().
• echo md5('primer’); • 6f9bdde59212bf772c41648d1b2eb072
• <?php
$str = 'apple'; if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') { echo "Ovo je apple!"; }
if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') { echo "Ovo je apple!?"; } ?>
![Page 41: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/41.jpg)
b) Integer (Celobrojni broj)
• Svaka promenljiva čija je vrednost celobrojna veličina je automatski određena kao tip Integer
• Brojne vrednosti se pišu bez znakova navoda
• Primer $x=55
$y=-123
$z=1
![Page 42: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/42.jpg)
c) Double (Racionalni broj)
• Svaka promenljiva čija je vrednost racionalni broj je automatski određena kao tip Double
• Brojne vrednosti se pišu bez znakova navoda
• Primer $x=0.55
$y=-2.123
$z=1.0
![Page 43: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/43.jpg)
Primer
![Page 44: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/44.jpg)
Funkcije za rad sa brojevima
floor() – vraća prvi manji intiger od posmatranog broja
ceil() - vraća veći intiger od posmatranog broja
abs() – vraća apsolutnu vrednost posmatranog broja
sqrt() – računanje kvadratnog korena
max() – vraća maksimalnu vrednost od posmatranih argumenata
min() – vraća minimalnu vrednost od posmatranih argumenata
pi() – vrednost promenljive pi
rand() – generisanje slučajnog broja
rand( int $min , int $max ) - generisanje slučajnog broja iz opsega
round() – vraća zaokruženu vrednost broja u odnosu na .5
![Page 45: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/45.jpg)
Primer rada sa brojevima
Primer
$a = 10.01;
$floor_a = floor($a);
echo $floor_a; // 10
echo abs($a); // 10.1
echo ceil ($a); // 11
$max_value = max(2,3,4); // 4
$min_value = min(2,3,4); // 2
echo pi( ); // 3.14159265359
echo rand() ; // 10260
echo sqrt(22) ; // 4.69041575982
![Page 46: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/46.jpg)
Proste matematičke operacije
• Operacije koje se mogu koristiti u PHP-u su: – Sabiranje (+)
– Oduzimanje (-)
– Množenje (*) – Deljenje (/)
– Moduo (%)
• Primer
$x=55
$y=-2.123
$z=2*($x+ $y) - $y/3
![Page 47: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/47.jpg)
Operatori
• Pored standardnih izdvajaju se sledeći: += $x+=5 $x= $x+5
+= $x+=$y $x= $x+$y
-= $x-=5 $x= $x-10
/= $x/=10 $x= $x/10
*= $x*=10 $x= $x*10
++ $x++ $x = $x +1
-- $x-- $x = $x -1
![Page 48: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/48.jpg)
Logički operatori
![Page 49: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/49.jpg)
Prioriteti redosleda operacija
• Prioriteti su definisani na nivou jezika i mogu se detaljno pročitati na stranici
• http://php.net/manual/en/language.operators.precedence.php
![Page 50: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/50.jpg)
Konverzije • PHP automatski vrši konverziju podataka u procesu
izračunavanja rezultata neke operacije
• Primer: $x=5
$y=-2.5
$a=“12P”
$z=$x (5,automatski z vidi kao Integer)
$z=$x* $y (-12.5, automatski z vidi kao Double)
• $z=$x* $a (60, jer je prepoznao broj, a P ignoriše)
• U nekim drugim jezicima ovo nije moguće, nego su dozvoljene operacije među istim tipovima podataka
![Page 51: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/51.jpg)
Konverzije 2
• Ukoliko se konverzija ne izvrši automatski može se izvršiti eksplicitno
• Sve konverzije (ako je to moguće) imaju isti format
• $ime_promenljive = (tip u koji se konvertuje) $promenljiva;
• Primer
$cena = (double) $cena;
$novo_ime = (string) $staro_ime;
$vrednost = (integer) $vrednost;
![Page 52: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/52.jpg)
Gettype i settype
• Funkcija gettype() može da utvrdi tip promenljive
• Primer: $a=12;
echo gettype($a); // vraća rezultat Integer
• Funkcija settype() može da promeni tip promenljive
• Primer: $a=12;
settype($a, “string”); echo gettype($a); // vraća rezultat String, a bio je Integer
![Page 53: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/53.jpg)
isset(), unset() i empty() • Funkcija isset() se koristi da se proveri da li je promenljiva setovana
i nema vrednost NULL
• echo isset($a) vraća true ako promenljiva $a postoji sa nekom vrednošću različitom od NULL
• Funkcija empty() se koristi da se proveri da li je neka promenljiva “prazna”. Promenljiva je prazna ako ne postoji ili ako je njen sadržaj ekvivalentan sa false.
• ("" (an empty string), 0 (0 as an integer), 0.0 (0 as a float), "0" (0 as a string), NULL, FALSE, array() (an empty array), $var; (a variable declared, but without a value)
• echo empty($a) vraća true ako ta promenljiva ne postoji, nema setovan sadržaj ili je sadržaj “prazan”
• Funkcija unset() se koristi da bi se uništila promenljiva sa nekim imenom i oslobodio prostor u memoriji
• unset($a) briše promenljivu $a
![Page 54: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/54.jpg)
Primer <?php $a; $b=""; $c=3; $d= NULL; if(isset($a)){ echo('Promenljiva a ima vrednost!<br/>');} else{ echo('Promenljiva a nema vrednost!<br/>');} if(isset($b)){ echo('Promenljiva b ima vrednost!<br/>');} else{ echo('Promenljiva b nema vrednost!<br/>’);} if(isset($c)){ echo('Promenljiva c ima vrednost!<br/>');} else{ echo('Promenljiva c nema vrednost!<br/>’);} unset($c); if(isset($c)){ echo('Promenljiva c ima vrednost!<br/>');} else{ echo('Promenljiva c nema vrednost!<br/>');} if(isset($d)){ echo('Promenljiva d ima vrednost!<br/>');} else{ echo('Promenljiva d nema vrednost!<br/>');} ?>
![Page 55: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/55.jpg)
Primer <?php $a; $b=""; $c=3; $d= NULL; if(empty($a)){ echo('Promenljiva a je empty!<br/>');} else{ echo('Promenljiva a nije empty!<br/>');} if(empty($b)){ echo('Promenljiva b je empty!<br/>');} else{ echo('Promenljiva b nije empty!<br/>');} if(empty($c)){ echo('Promenljiva c je empty!<br/>');} else{ echo('Promenljiva c nije empty!<br/>');} if(empty($d)){ echo('Promenljiva d je empty!<br/>');} else{ echo('Promenljiva d nije empty!<br/>');} ?>
![Page 56: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/56.jpg)
Funkcije promenljivih
![Page 57: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/57.jpg)
var_dump()
• Funkcije var_dump() je vrlo korisna i treba je što pre usvojiti u svakodnevnoj upotrebi
• Ova funkcija prikazuje struktuirane informacije u vezi sa jednom ili više promenljivih ili iskaza koji uključuju tip i vrednost
• Na ovaj način se u svakom trenutku može pratiti tip i vrednost neke promenljive u toku realizacije koda
![Page 58: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/58.jpg)
var_dump()
<?php
$a="proba";
var_dump($a);
$b=3;
var_dump($b);
var_dump($b*$b);
$c = array(5, 6, array("prvi", "drugi"));
var_dump($c);
?>
![Page 59: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/59.jpg)
d) Nizovi • Niz je složen tip podatka koji u sebi može imati više
vrednosti.
• Ove vrednosti su jednoznačno raspoređene unutar niza kao elementi niza
• U PHP-u vrednosti niza ne moraju biti istog tipa!
• Elementima niza se pristupa preko njihovih indeksa
• Indeksi niza u PHP-u mogu biti numeričke vrednosti (tj. numerički indeksirani nizovi) ali i stringovi (tj. asocijativni nizovi).
• Ne mora se inicijalno definisati promenljiva tipa niz
• Ne mora se definisati inicijalna dužina niza
• Ako se ne navede drugačije prvi element niza ima indeks 0
![Page 60: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/60.jpg)
• Kreiranje niza je moguće: a) Kreiranjem jednog po jednog njegovog člana
$ime_niza[0] = "Pera";
$ime_niza[1] = "Mika";
$ime_niza[2] = "Laza";
b) Kreiranjem celog niza sa podrazumevanim indeksima $ime_niza = array ("Pera", "Mika", "Laza"); //indeksi počinju od 0
c) Kreiranjem celog niza sa definisanim indeksima $niz1 = array(3=>"Pera",4=>"Mika",5=>"Laza");
d) Kreiranjem asocijativnog niza $ime_niza = array("22"=>"Pera","23"=>"Mika","27"=>"Laza");
$ime_niza = array("prvi"=>"Pera","drugi"=>"Mika","treci"=>"Laza");
$ime_niza = array("ime1"=>"Pera","ime2"=>"Mika","ime3"=>"Laza");
![Page 61: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/61.jpg)
Primeri kreiranja niza <?php
$niz1 = array ("Pera", "Mika", "Laza");
$niz2 = array(3=>"Pera",4=>"Mika",5=>"Laza");
$niz3 = array("ime1"=>"Pera","ime2"=>"Mika","ime2"=>"Laza");
var_dump($niz1); echo("<br/>");
var_dump($niz2); echo("<br/>");
var_dump($niz3);
?>
![Page 62: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/62.jpg)
Tipovi nizova
• U PHP-u postoje tri vrste niza: – Numerički (indeks niza je broj) – Asocijativni (indeks niza je neki sadržaj) – Multidimenzioni (niz je sastavljen od jednog ili više nizova)
• $ime[0]="Pera";
$ime[1]="Mika";
$ime[2]="Zika";
• $grad['Pera'] = "BG";
$grad['Mika'] = "NS";
$grad['Zika'] = "NI";
$opis = array(
"Pera"=>array("22", "Ozenjen"),
"Mika"=>array("30", "Ozenjen“), "Zika"=>array("40", "Neozenjen“) );
![Page 63: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/63.jpg)
Primeri čitanja niza <?php
$niz1 = array ("Pera", "Mika", "Laza");
for($i = 0; $i < count($niz1); $i++){
echo $niz1[$i],"<br/>";
}
?>
<?php $niz1 = array ("Pera", "Mika", "Laza"); foreach($niz1 as $ime) { echo $ime . "<br/>"; } ?>
![Page 64: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/64.jpg)
<?php
$ime_niza = array("ime1"=>"Pera","ime2"=>"Mika","ime3"=>"Laza");
while($ime=each($ime_niza)){
echo ("Index je: " . $ime['key']);
echo (" Vrednost je: " . $ime['value']);
echo("<br/>");
}
?>
<?php $ime_niza = array("ime1"=>"Pera","ime2"=>"Mika","ime3"=>"Laza"); while(list($indeks,$vrednost)=each($ime_niza)){ echo ("Index je: " . $indeks); echo (" Vrednost je: " . $vrednost); echo("<br/>"); } ?>
Primeri čitanja niza
![Page 65: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/65.jpg)
Sortiranje elemenata niza • Za niz
– $ime_niza[0]= "Pera";
– $ime_niza[2]= "Laza";
– $ime_niza[1]= "Mika";
• Funkcija sort($ime_niza) sortira po sadražaju promenljivih
– $ime_niza[0]= "Laza";
– $ime_niza[1]= "Mika";
– $ime_niza[2]= "Pera";
• Funkcija rsort($ime_niza) sortira po sadražaju promenljivih, unazad
– $ime_niza[0]= "Pera";
– $ime_niza[1]= "Mika";
– $ime_niza[2]= "Laza";
![Page 66: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/66.jpg)
Primer sortiranja vrednosti <?php
$niz=array(1=>"Mika",3=>"Pera",2=>"Laza");
var_dump($niz);
echo("<br/>Sortitao sa sort() je: <br/>");
sort($niz);
var_dump($niz);
echo("<br/>Sortitao sa rsort() je: <br/>");
rsort($niz);
var_dump($niz);
?>
![Page 67: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/67.jpg)
Primer • Za niz
$ime_niza= array ( "a1"=> "Mika", "c1"=> "Pera", "b1"=> "Laza");
• Funkcija asort($ime_niza) sortira po sadražaju promenljivih ali zadržava svoj indeks, (arsort obrnuto)
– $ime_niza[b1]= "Laza";
– $ime_niza[a1]= "Mika";
– $ime_niza[c1]= "Pera";
Funkcija ksort($ime_niza) sortira po indeksima
– $ime_niza[a1]= "Mika";
– $ime_niza[b1]= "Laza";
– $ime_niza[c1]= "Pera";
![Page 68: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/68.jpg)
Primer sortiranja vrednosti <?php
$niz = array("ime1"=>"Pera","ime3"=>"Mika","ime2"=>"Laza");
var_dump($niz);
echo("<br/>Sortitao sa asort() je: <br/>");
asort($niz);
var_dump($niz);
echo("<br/>Sortitao sa ksort() je: <br/>");
ksort($niz);
var_dump($niz);
?>
![Page 69: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/69.jpg)
Višedimenzioni niz
• Predstavlja niz nizova
• Koristi se kada je potrebno napraviti više zajedničkih podataka grupisanih po nekom pravilu
• Primer je dvodimenziono koordinatno označavanje i ukazuje na matricu
• Primer: – $ime_niza= array (index => array (sadrzaj));
– $imenik= array("Pera Peric" => array("111-111", "Beograd"), "Mika Mikic" => array("222-222", "Kragujevac"));
![Page 70: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/70.jpg)
Primer <?php
$imenik= array( "Pera Peric" => array("111-111“ , "Beograd"), "Mika Mikic" => array("222-222", "Kragujevac"));
//var_dump($imenik);
echo $imenik["Pera Peric"] [0];
echo $imenik["Pera Peric"][1];
?>
![Page 71: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/71.jpg)
Funkcije za rad sa nizovima
![Page 72: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/72.jpg)
Funkcije spajanja i rastavljanja
• Funkcija implode("separator", $ime_niza) od datog niza kreira string tako što redom uzima jedan po jedan član niza i međusobno ih razdvaja separatorom
• Funkcija explode("separator", $ime_niza) jedinstveni string deli u odnosu na separator i vraća niz
![Page 73: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/73.jpg)
Primer • Za niz
– $ime_niza[0]= "Pera";
– $ime_niza[2]= "Laza";
– $ime_niza[1]= "Mika";
• Funkcija implode()
$proba1= implode("," , $ime_niza);
echo $proba1; // Pera,Mika,Laza
• Funkcija explode()
$proba2= explode("," , $proba1) daje
echo $proba2[0]; // Pera
echo $proba2[2]; // Laza
echo $proba2[1] // Mika
![Page 74: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/74.jpg)
Funkcija extract() • Za dati asocijativni niz, pristup elementima niza je:
<?php
$student = [
"ime" => "Danijela",
"prezime" => "Nikitin",
"brojInd" => 25 ];
echo "Student: " . $student["ime"] . " " . $student["prezime"];
• Pomoću funkcije extract() asocijativni niz se lako „deli“ u promenljive koje se automatski nazivaju indeksima niza <?php
$student = [
"ime" => "Danijela",
"prezime" => "Nikitin",
"brojInd" => 25 ];
extract($student);
echo "Ime studenta: $ime a prezime je: $prezime a broj indeksa $brojInd“;
![Page 75: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/75.jpg)
Prekid rada koda • Prekid rada tekućeg skripta tj. PHP koda se realizuje pomoću exit() ili die()
• Funkcija exit() se može koristiti bez argumenata pa čak i bez zagrada
…
echo "unable to do!"; exit;
• Ako se koristi sa argumentom, koristi se sa ciljem da se prvo ispiše greška i nakon toga prekine dalje izvršavanje koda
$file = fopen($filename, 'r’) or exit("unable to open file ($filename)");
• Funkcija die() se koristi kao pandam funkcije exit()
die("unable to open file !");
![Page 76: Osnove PHP-a - webdizajn.ict.edu.rs · Vi soka ãNROD strukovnih studija za informacione i komunikacione tehnologije Beograd Osnove PHP-a dr Nenad Koji ü](https://reader030.fdocument.pub/reader030/viewer/2022040422/5e14dfdd8b284a713104bd6e/html5/thumbnails/76.jpg)
Toliko za sada