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






TOP LISTA SAJTOVA

Oblast važenja promenjljivih, metod referenci i metod vrednosti

Promenjljive koje mi definišemo "vidljive" su samo u onim skriptama gde ih definišemo. Ako ih definišemo u funkciju koju kreiramo vidljive su samo u toj funkciji. Medjutim promenjljive možete praviti i u glavnom i u umetnutom fajlu i biće vidljive u oba fajla. Superglobalne tipa $_POST, $_GET i ostale tog tipa su vidljive u svim skriptama.

E sad ako želite da promenjljiva koju mi kreiramo bude vidljiva svuda i izvan funkcije treba da to naglasimo rezervisanim iskazom global. Na primer ako napišemo u funkciji:

global $promenjljiva;

To znači da će $promenjljiva biti vidljiva i izvan te funkcije u skriptama koje pozivaju tu funkciju.

Na primer kreirajmo sleceći kod:

$vrednost=10;
povecanje();
echo $vrednost;
function povecanje(){
  $vrednost=$vrednost+1;
}

Kao rezultat ovog koda na ekranu će se pojaviti broj 10 ! Zašto nije 11? Naravno razlog je zbog pravila da promenjljiva iz funkcije važi samo u funkciji a ne i izvan nje.

E sad ako napišemo sledeći kod rezultat će biti 11.

$vrednost=10;
povecanje();
echo $vrednost;
function povecanje(){
   global $vrednost;
   $vrednost = $vrednost + 1;
}

Prenos vrednosti iz funkcija korišćenjem iskaza global, odnosno preko naziva promenjljivih naziva se metod po vrednosti.

Drugi način za prenos vrednosti iz funkcija je metod prenosa po referenci. Da bi ste zadali prenos vrednosti po referenci u definiciji funkcije stavi se znak „ & “ ispred imena parametara koji se prenose. U našem primeru gornjem primeru bi to izgledalo:

$vrednost=10;
povecanje($vrednost);
echo $vrednost;
function povecanje(&$vrednost){
   $vrednost=$vrednost+1;
}

A rezultat će biti 11.

Ono što je još važnije je da u ovoj metodi po referenci ne mora da se slažu nazivi promenljive u skripti i u funkciji a što mora u slučajevima kad se koristi metoda po vrednosti. Na primer i sledeća skripta će dati isto rezultat 11:

$vrednost=10;
povecanje($vrednost);
echo $vrednost;
function povecanje(&$a){
   $a=$a+1;
}

Naravno kao što se jedan parametar vraća iz funkcije u našem primerima, takodje mogu da se vraćaju i više parametara. Postavimo znak „&“ ispred svakog parametra koji se vraća ako koristite metodu reference a ako koristite metodu vrednosti definišete sve parametre koji se vraćaju kao globalne promenjljive iskazom global.

Copyright © 2010 BUbaj. Powered By bubaj.com
PHP    PHP sintaksa    Fajl    Niz    String    Funkcija    Objektno programiranje    MySQL    Unos fajla    Datum    Forme    Sesija    Registracija