PHP naredbe najčešće se nalaze umetnute unutar HTML koda zajedno s HTML oznakama.
Da bi ih PHP-ov prevoditelj mogao prepoznati, moraju se nalaziti unutar posebnih oznaka.
Najčešći i preporučeni način pisanja PHP oznaka je ovaj:
<?php ?>
Skračeni način pisanja
<? ?>
Svaka PHP naredba mora završiti sa znakom točka-zarez, inače će se prilikom izvršavanja javiti sintaksna greška.
<?php
echo "Dobar dan";
?>
Naredba echo ispisuje zadani niz znakova, pa će gornji primjer ispisati tekst "Dobar dan".
Moguće je uz naredbe pisati i pomoćni tekst (komentare) koji ne utječe na izvođenje programa, a služi u svrhu opisa napisanog koda.
Komentari koji se nalaze u jednoj liniji započinju znakovima // ili znakom #, a komentari koji se protežu kroz jednu ili više linija započinju znakovima /*, a završavaju znakovima */.
1. Pokrenite bilo koji program za uređivanje teksta: notepad++, visual studio, visual studio code..., i stvorite novu datoteku index.php.
2. Unutar stvorene datoteke stvorite kostur HTML dokumenta - dodajte oznake head i oznake title i meta unutar njega, a nakon njih oznake body i h2:
3. Između oznake h2 i završne oznake body dodajete početnu i završnu oznaku za PHP kod, a unutar njih sljedeću naredbu:
<h2> Prva PHP skripta</h2>
<?php
echo "Pozdrav!";
?>
4. Pokrenite servis
5. U web pregledniku upišite adresu: http://localhost/vjezbe/vjezba1.1/
Svaki funkcionalni program mora čitati određene podatke i omogućavati obradu i pohranu podataka.
Za privremeno spremanje podataka tijekom izvođenja programa koriste se varijable.
Za obradu i izračune nad podacima koriste se operatori koji su zapravo simboli za različite operacije (pridruživanje, aritmetičke operacije, operacije usporedbe i drugo).
Varijable se u programskim jezicima koriste kao privremeni spremnici za pohranjivanje vrijednosti.
Vrijednosti koje se spremaju u varijable mogu biti različitog tipa podataka, što znači da mogu biti tekstualne, brojčane, logičke ili drugog tipa.
PHP podržava sljedeće osnovne tipove podataka:
Složeni tipovi podataka u jeziku PHP su ovi:
Postoje i dva specijalna tipa:
PHP pripada skupini slabo tipiziranih jezika.
Za razliku od većine drugih programskih jezika, varijablu u PHP-u prije uporabe nije potrebno deklarirati, odnosno nije potrebno navesti njen tip.
Za uporabu varijable dovoljno je navesti njezino ime i pridružiti joj neku vrijednost.
Varijabla će sama poprimiti odgovarajući tip podatka ovisno o pridruženoj vrijednosti.
Štoviše, moguće je tijekom uporabe varijable promijeniti njen tip, tako da joj pridružimo vrijednost koja je drugog podatkovnog tipa.
Preporuča se ipak ne mijenjati tip varijable jer to često dovodi do pogrešaka u pisanju programa.
Ispred svake varijable u jeziku PHP navodi se znak $.
Imena varijabli (identifikatori) mogu sadržavati slova, brojke ili podvlaku ( _ ), a prvi znak (poslije $, naravno) može biti samo slovo ili podvlaka.
Vrijednost spremljena u varijabli može se mijenjati tijekom izvođenja programa.
Konstante također mogu sadržavati vrijednosti kao i varijable, ali se ta vrijednost ne može mijenjati jednom kada se deklarira.
Vrijednost se konstantama dodjeljuje preko funkcije define koja sadrži dva parametra: ime konstante i njezinu vrijednost.
<?php
define('PI', 3.14);
?>
Ime konstante se obično piše velikim slovima, iako to nije obavezno, ali ovakav način označavanja omogućava lakše razlikovanje konstanti i varijabli. Također, prije imena konstante nije potrebno stavljati znak „$“. Time je olakšano i korištenje vrijednosti konstante koja se poziva samo imenom.
Jednom kada se konstanta definira, ona se u programu ne može promijeniti niti izbrisati.
<?php
$varijabla = vrijednost;
?>
Gornja naredba je naredba pridruživanja, a znak = je operator pridruživanja. S lijeve strane operatora pridruživanja uvijek se mora nalaziti varijabla, a s lijeve strane se može nalaziti konstantna vrijednost, rezultat nekog izraza (npr. aritmetičkog), ili pak poziv funkcije.
Dodjela vrijednosti za tekstualnu vrijednost izgleda ovako:
<?php
$prvaVarijabla = "Ana";
$drugaVarijabla = 'Ivo';
?>
Za zapisivanje znakovnih nizova, u jeziku PHP mogu se koristiti i jednostruki i dvostruki navodnici.
Dodjela vrijednosti za brojčanu vrijednost izgleda ovako:
<?php
$prvaVarijabla = 1;
$drugaVarijabla = 24,35;
?>
Dodjeljivanje vrijednosti varijabli može se izvršiti i na način da se varijabli pridruži vrijednost druge varijable:
$prvaVarijabla = $drugaVarijabla
Nad varijablama brojčanog tipa podataka moguće je obavljati razne aritmetičke operacije.
| Operator | Značenje | Primjer |
|---|---|---|
| - | negativan predznak | - $a |
| + | zbrajanje | $a+$b |
| - | oduzimanje | $a-$b |
| * | množenje | $a*$b |
| / | dijeljenje | $a/$b |
| % | operacija modulo - (vraća ostatak pri dijeljenju) | $a%$b |
Prilikom izvršavanja, operacije se neće izvršavati redoslijedom kojim su napisane, već prema prioritetu aritmetičkih operacija.
| Prioritet | Operatori | Značenje |
|---|---|---|
| 1 | - | negativan predznak |
| 2 | *, /, % | množenje, dijeljenje, modulo |
| 3 | +, - | zbrajanje, oduzimanje |
Ukoliko želimo drugačiji redoslijed izvršavanja operacija, možemo koristiti zagrade, koje su korisne i radi povećavanja čitljivosti aritmetičkog izraza.
Primjer dolje dao bi drugi rezultat od gornjeg primjera, jer bi se prvo izvršila operacija zbrajanja:
$vrijednost = (2 + $a) * $b;
| Operator | Značenje | Primjer |
| ++ | povećanje za 1 | $a++ |
| -- | smanjenje za 1 | $b-- |
Uz jednostavan operator pridruživanja (=), postoje i složeni operatori pridruživanja.
Varijabla se može povećati za neku vrijednost.
| Operator | Značenje | Primjer | Ekvivalentna naredba |
| += | dodavanje vrijednosti s lijeve strane | $a += vrijednost | $a = $a + vrijednost |
| -= | oduzimanje vrijednosti s lijeve strane | $a -= vrijednost | $a = $a - vrijednost |
| *= | množenje s vrijednošću s lijeve strane | $a *= vrijednost | $a = $a * vrijednost |
| /= | dijeljenje s vrijednošću s lijeve strane | $a /= vrijednost | $a = $a / vrijednost |
| %= | operacija modulo s vrijednošću s lijeve strane | $a %= vrijednost | $a = $a % vrijednost |
Više znakovnih nizova moguće je pretvoriti u jedan koristeći se operatorom spajanja.
Kao operator spajanja koristi se znak . (točka).
$niz1 = "Dobar";
$niz2 = "dan";
echo $niz1 . $niz2;
Ako se između riječi „dobar“ i riječi „dan“ želi umetnuti razmak, to se može učiniti ovako:
echo $niz1 . " " . $niz2;
| Operator | Značenje |
|---|---|
| == | jednako |
| === | identično |
| != | nije jednako |
| != | nije jednako |
| !== | nije identično |
| < | manje od |
| > | više od |
| <= | manje ili jednako |
| >= | više ili jednako |
PHP dozvoljava usporedbu vrijednosti različitih tipova podataka.
Ako se uspoređuje brojčana vrijednost s tekstualnom, tekstualna vrijednost se pretvara u ekvivalentnu brojčanu i vrši se usporedba dvije brojčane vrijednosti.
Ako je pretvorba nemoguća, odnosno varijable nisu ekvivalentnih vrijednosti, rezultat usporedbe je FALSE.
Operator identičnosti (===) služi za provjeru jesu li dvije varijable, osim što sadržavaju ekvivalentne vrijednosti, i istog tipa podataka.
U svim programskim jezicima, pa tako i u skriptnom jeziku PHP, postoje uvjetne strukture koje se koriste za donošenje odluke o daljnjem tijeku izvođenja programa.
Ovisno o tome je li neki logički uvjet ispunjen (odnosno je li njegova vrijednost TRUE ili FALSE), obavit će se ili se neće obaviti neke naredbe.
if (uvjet)
{
naredba1;
naredba2;
}
Nakon ključne riječi if u zagradama se navodi uvjet (može biti logička vrijednost, varijabla ili logički izraz).
Unutar vitičastih zagrada navode se naredbe koje će biti izvršene ako je uvjet ispunjen.
<?php
if ($a > $b)
{
echo "a je veće od b.";
}
?>
Dodavanjem ključne riječi else mogu se odrediti naredbe koje će biti izvršene ako uvjet nije ispunjen:
if (uvjet)
{
naredba1;
}
else
{
naredba2;
}
U sljedećem primjeru ispisat će se, ako je vrijednost $a veća od vrijednosti $b, jedna poruka, a u suprotnom (ako je manja ili jednaka) ispisat će se druga.
<?php
if ($a > $b)
{
echo "a je veće od b.";
}
else
{
echo "a je manje ili jednako b.";
}
?>
Jednostavna uvjetna struktura može se proširiti dodavanjem novog uvjeta, uz korištenje ključne riječi elseif.
if (uvjet1)
{
naredba1;
}
elseif (uvjet2)
{
naredba2;
}
else
{
naredba3;
}
U slučaju da je prvi uvjet ispunjen, izvršava se prva naredba.
Ako prvi uvjet nije ispunjen, provjerit će se je li drugi uvjet ispunjen, i ako jest, izvršava se druga naredba.
Ako nijedan ni drugi uvjet nije ispunjen, izvršava se treća naredba.
Sljedeći primjer će ispisati odgovarajuću poruku za svaki od tri slučajeva – ako je $a veće od $b, ako je manje i na kraju, ako su vrijednosti jednake.
<?php
if ($a > $b)
{
echo "a je veće od b.";
}
elseif ($a < $b)
{
echo "a je manje od b.";
}
else
{
echo "a je jednako b.";
}
?>
Moguće je dodati proizvoljan broj elseif blokova.
If – elseif struktura u kojoj svi uvjeti provjeravaju vrijednost neke varijable ili izraza moţe se napisati na jednostavniji način, korištenjem ključne riječi switch.
<?php
switch (izraz)
{
case vrijednost1:
naredba1;
naredba2;
break;
case vrijednost2:
naredba3;
naredba4;
break;
default:
naredba5;
naredba6;
}
?>
Ovisno o vrijednosti izraza navedenog unutar zagrada poslije ključne riječi switch, izvršit će se naredbe koje se nalaze unutar odgovarajućeg case bloka (onoga u kojem je navedena točna vrijednost).
Nakon što se pronađe točan case blok, izvršavaju se sve naredbe dok se ne naiđe na naredbu break.
Ukoliko odgovarajuća vrijednost nije pronađena, izvršavaju se naredbe navedene poslije ključne riječi default.
<?php
switch ($a)
{
case 0:
echo "a je jednako 0.";
break;
case 1:
echo "a je jednako 1.";
break;
case 2:
echo "a je jednako 2.";
break;
default:
echo "a nije jednako 0, 1 niti 2.";
}
?>