Home   FORUM   Toplista   HTML   CSS   JavaScript   PHP   DIZAJN   SEO   Mapa
KONTAKT
izuzetan[at]gmail.com






TOP LISTA SAJTOVA

PHP operatori

Kao i u matematici operatori omogućavaju izvršavanje operacija nad promenljivima i konstantama, na primer sabiranja, množenja, itd. Operatori se mogu pisati sa jednim, dva ili tri znaka. Postoje sledeći tipovi operatora:
  • Aritmetički operatori
  • Operator nad znakovnim nizom
  • Operatori dodele
  • Operatori poredjenja
  • Logički operatori
  • Operatori nad bitovima
  • Ostali operatori

Aritmetički operatori 

Operator Naziv Primer
+ Sabiranje $a + $b
- oduzimanje $a - $b
* množenje $a * $b
/ delenje $a / $b
% Modulo $a % $b

Evo primera upotrbe operatora:

$a = $b + $c;

Znak minus se koristi i za označavanje negativnih brojeva.

$a = - 1;

Ne treba posebno objasnjavati ove operatore, osim operatora modulo koji je možda nepoznat. Modulo vraća ostatak celobrojnog deljenja promenjljive $a promenjljivom $b. Na primer:

$a = 36;
$b = 5;
$c = $a % $b;

Promenjljiva $c imaće vrednost 2 jer je 36 / 5 = 7.2

Aritmetički operatori se isključivo primenjuju nad brojevima.

String operatori

Jedini operator nad stringovima je tačka ".". Ovaj operator se koristi za spajanje dva i više znakovna izraza u jedan. Sve će biti jasnije nakon sledećeg primera:

$a = "Ana ";
$b = "voli ";
$c = "Bobana";
$rezultat = $a . $b . $c;

Znakovna proemnjljiva $rezultat imaće vrednost "Ana voli Bobana".

Operator dodele

Operator dodele je matematički znak jednakosti " = ". Na primer:

$masa = 5;

Navedeni iskaz bi trebalo čitati: "promenjljivoj masi dodeljujemo vrednost 5".

Možemo pisati izraze slične sledećem:

$a = 2 + ($b = 3);

Vrednost promenjlive $a biće 5.

Kombinovani operator dodele

Kombinovani operatori dodele su sledeći:

$a += 5;

Isti je iskazu kao da smo napisali:

$a = $a +5;

Pored kombinovanog operatora " += " postoje i sledeći:

Operator Upotreba Ekvivalentan izrazu
+= $a += $b $a = $a + $b
-= $a -= $b $a = $a - $b
*= $a *= $b $a = $a * $b
/= $a /= $b $a = $a / $b
%= $a %= $b $a = $a % $b
.= $a .= $b $a = $a .$b

Prefiksni i sufiksni operatori

Prefiksni i sufiksni operatori uvećanja imaju oznaku " ++ " a umanjenja " -- ".

$a = 10;
echo ++$a;

Prefiksni operator uvećanja ++ poveća vrednost promenjljive $a za 1 pa tek onda se izvršava izraz echo$a. Znači kao rezultat ovih izraza ispisaće se u našem slučaju 11. Potpuno identičan efekat ima i prefiksni operator umanjenja, naravno sa tom razlikom što se vrednost promenjljive $a umanjuje za 1.

A sufiksno uvećanje (umanjenje) je sledeća logika:

$a = 10;
echo $a++;

U ovom slučaju prvo se ispisuje prvobitna vrednost promenjljive $a (znači ispisuje se broj 10) pa nakon toga se vrednost promenjljive uvećava za 1 i dodeljuje  promenjljivoj $a. Tako na primer ako nastavimo gornju skripticu sledećim izrazom:

echo $a;

Tek onda biće ispisan broj 11.

Sve isto se odnosi i na sufiksno umanjenje, naravno samo što je upitanju umanjenje vrednosti promenjljive za 1.

Referentni operator dodele

Oznaka za referencu je znak " & ". Efekat ovog operatora najbolje možemo objasniti na primeru:

$a = 5;
$b = $a;

Drugim iskazom kao što znamo pravimo kopiju promenjljive $a koju imenujemo sa $b. E sad nakon toga u daljem toku programa ako promenimo vrednos promenjljive $a, vrednost promenjljive $b kao što znamo i dalje će naravno ostati nepromenjena. Medjutim ako napišemo ovako:

$a = 5;
$b = &$a;

Efekat će biti taj da ako u daljem toku programa promenimo vrednost promenjljive $a, vrednost promenjljive $b neće ostati nepromenjen već će i on biti automatski promenjen u novu vrednost koju ima promenjljiva $a.

Operatori poredjenja

Operator poredjenja ima simbol duplo jednako " == ". Kao rezultat operatora poredjenja uvek dobijamo logičku vrednost true (istina) ili false (laž) u zavisnosti od rezultata poredjenja. Ako napišemo:

$a == $b;

Ovim izrazom proveravamo da li su vrednosti ove dve promenjljive jednake. Rezultat koji vraća ovaj izraz je true (istina) ako su jednake i false (laž) ako nisu jednake. Operator jednakosti se lako brka sa operatorom dodele i ako dodje do toga program neće raditi ono sto mi želimo. Na primer:

$a = 5;
$b = 7;

Rezultat izraza $a = $b biće TRUE jer operator " = " služi za dodeljivanje i u ovom našem slučaju promenjljivoj $a uspešno je program dodelio vrednost koju ima promenjljiva $b, odnosno vrednost 7. To je vrednost koja nije nula pa je logička vrednost tog iskaza TRUE. Ako bi smo napisali $a == $b rezultat bi bio FALSE jer 5 nije jednako 7. Kao što vidimo operator poredjenja i operator dodele daju često kao rezultat suprotnu logiku, i zato moramo voditi računa da ih ne pomešamo. Postoji i operator identičnosti čija je oznaka trostruko jednako " === ". Operator identičnosti vraća TRUE ako su obe vrednosti jednake i istog su tipa. Evo tabelarna prestava operatora poredjenja:

Operator Ime Upotreba
== jednako $a == $b
=== identično $a === $b
!= različito $a != $b
<> različito $a <> $b
< manje od $a < $b
> veće od $a > $b
<= manje ili jednako od $a <= $b
>= veće ili jednako od $a >= $b

Logički operatori

Želimo proveriti da li je vrednost promenjljive $a izmedju 10 i 100. Znači treba proveriti uslove $a >= 10 i $a <= 100. To radimo upotrebom logičkog operatora konjukcije koji ima znak " && " ili " and " na sledeći način:

$a >= 10 && $a <= 100

Sve logičke operatore daću tabelarno:

Operator Ime Upotreba Rezultat
! negacija !$b vraća true ako je $b false i obrnuto
&& konjukcija $a && $b Vraća true samo ako su i $a i $b true
|| disjunkcija $a || $b Vraća true ako je ili $a ili $b true
and konjukcija $a and $b Isto kao && samo niži prioritet
or disjunkcija $a or $b Isto kao || samo niži prioritet

Ostali operatori

Ostali operatori su:
  • Operator zarez " , " koristi se ze razdvajanje argumenata funkcija i stavki u spisku.
  • Operatori " new " i " - > " koriste se za pravljenje objekta i za pristup članovima objekta
  • Operatori elementa niza " [ ] " omogućavaju pristupu elementima niza. Koristi se i oznaka " => "
  • Uslovni operator ima oznaku " ? : " . Logika ovog operatora videćemo na primeru:

    ($visina > 200 ? $b="visok" : $b="nizak");

    Ako je promenjljiva $visina veća od 200 onda promenjljiva $b dobija vrednost "visok" a ako je $visina manja od 200 onda $b dobija vrednost "nizak". Ako želimo da se odma rezultat ispiše na ekran onda nam ne treba promenjljiva $b već izraz možemo napisati ovako:

    echo ($ocena > 50 ? "Položio" : "Pao");


  • Operator potiskivanja greške sa oznakom " @ " se koristi ispred izraza kad ne želimo da posetioci sajta vide ispisivanje greške koja može nastati u toku izvršenja tog izraza. To ispisivanje greške može odati bitne tajne podatke u vezi sajta.
  • Operator izvršenja ima oznaku " ` ` " . Radi se o paru inverznih polunavodnika. Inverzni polunavodnik se nalazi na tastaturu gde i znak ~. PHP će izvršiti sve šta se nalazi izmedju inverznih polunavodnika u komandnom okruženju na serveru. izlazni podaci komande pretstavljaju vrednost izraza.

    Na UNIX serveru upotrebljava se:

    $iz = `ls – la`;
    echo "<pre>".$iz."</pre>"

    A na windows serveru:

    $out = `dir c:`;
    echo "<pre>".$iz."</pre>"

    U oba slučaja će se smestiti spisak dokumenata iz foldera u promenjljivu $iz.
Copyright © 2010 BUbaj. Powered By bubaj.com
PHP    PHP sintaksa    Fajl    Niz    String    Funkcija    Objektno programiranje    MySQL    Unos fajla    Datum    Forme    Sesija    Registracija