Elemente de baza php(Variabile) (Partea 2) - Forum

[ Mesaje noi · Membrii · Regulamentul forumului · Căutare · RSS ]
Pagina 1 din 11
Forum » Tutoriale si Resurse (T&R) » T&R php » Elemente de baza php(Variabile) (Partea 2)
Elemente de baza php(Variabile) (Partea 2)
GravediggerData: Luni, 2012-10-29, 7:29 PM | Mesaj # 1
Gravedigger
Administrator
Grup: Administratori
Mesaje: 542
Premii: 10
Reputatie: 5
Stare: Offline


Variabile


Variabila este un container de date care poarta un nume si i se poate atribui o valoare care poate fi modificata de mai multe ori sau salvata intr-o baza de date. Numele dat variabilei incepe cu simbolul $ urmat de orice litera mica (a-z) sau mare (A-Z) sau cu caracterul _ dar niciodata cu o cifra si nu poate contine spatii goale. De exemplu: $nume_variabila
Este recomandat ca numele variabilei sa fie cat mai sugestiv pentru a evita incurcaturile in timpul scrierii scriptului.

Exemplu: atribuim variabilei $program valoarea PHP si apoi o tiparim

<?php
$program="PHP";
echo $program;
?>
Exemplu: in aceeasi constructie echo putem folosi text impreuna cu o variabila

<?php
$luna="iulie";
echo "Am concediu in luna ".$luna."";
?>

Modificand valoarea variabilei se modifica ceea ce este afisat de browser.
Intr-un script puteti folosi mai multe variabile care pot fi adaugate in aceeasi constructie echo.

Exemplu:

<?php
$ziua="22";
$luna="12";
$anul="1995";
echo "Data nasterii este ".$ziua.".".$luna.".".$anul."";
?>
In PHP sunt opt tipuri de variabile primitive:

patru tipuri scalare: intregi, numere cu virgula flotanta, siruri si boleene
doua tipuri compuse: matrice si obiecte
doua tipuri speciale: resurse si NULL
Intreg (integer) este un simplu numar intreg exprimat in sistem zecimal, hexazecimal sau octal, optional putand purta si semn (+ sau -).
In sistem octal numarul trebuie precedat de 0 iar pentru hexazecimal precedat de 0x.

$a=2006; //numar exprimat in sistem zecimal
$a=-52; //numar negativ exprimat in sistem zecimal
$a=0135; //numar octal (echivalent cu 207 zecimal)
$a=0x1D; //numar hexazecimal (echivalent cu 29 zecimal)
Numerul cu virgula flotanta (float) sau dubla precizie este un numar real care poate fi folosit cu urmatoarea sintaxa:

$a=3.14; //numar zecimal
$a=-2.59; //numar zecimal negativ
$a=1.3e2; //130
$a=6E+3; //6000

Exemplu:

<?php
$temperatura=-5;
$vant=8.5;
echo "La Sinaia sunt ".$temperatura."<sup>o</sup>C iar vantul bate cu ".$vant."m/s";
?>
Sirul (string) este o variabila care contine o combinatie de numere, litere, simboluri si spatii delimitate intre doua ghilimele simple sau duble. Sirurile pot contine si nume de variabile.

Exemplu:

<?php
$nume="Ivan Paul";
$data="19 iulie 2005";
echo "Solicitarea a fost facuta de domnul ".$nume." pe data de ".$data."";
?>
Cea mai simpla cale pentru a specifica un sir este sa il incadram intre ghilimele simple (') dar eventualele ghilimele simple continute vor fi precedate de caracterul \. In aceasta situatie variabilele si caracterele speciale vor fi ignorate.

echo "acesta este un sir"; //acesta este un sir
echo "variabila $a"; //variabila $a
echo "rand1 \n rand2"; //rand1 \n rand2
Daca sirul este definit prin ghilimele duble (") PHP-ul interpreteaza mai multe secvente pentru caracterele speciale:

Secventa Semnificatie
\n rand nou
\r sfarsit de linie
\t tab orizontal
\\ backslash
\$ simbol dolar
\" ghilimele duble
Variabila boleana exprima valoarea de adevar: TRUE sau FALSE. Orice valoare diferita de zero sau sir care nu este gol (contine cel putin un caracter) sunt considerate ca TRUE.

Matricei (array) i se pot atribui mai multe valori comparativ cu numerele sau sirurile care pot contine doar o singura valoare. Matricele folosesc chei sau indexi pentru a identifica valorile stocate.
O matrice se creaza folosind functia array():

$matrice = array('apa','aer','foc');
Exemplu: cream o matrice si ii tiparim elementele folosind functia print_r

<?php
$matrice = array('ocean','mare','lac');
print_r ($matrice);
?>
Exemplu: utilizam aceeasi matrice dar folosim functia var_dump() care ne arata cate elemente sunt in matrice si lungimea fiecarei valori a sa

<?php
$matrice = array('ocean','mare','lac');
var_dump ($matrice);
?>
Primul index al unei matrici are valoarea 0. Valorile indexilor pot fi si declarate manual.

Exemplu: cream o matrice cu indexii 1, 3 si 5

<?php
$matrice = array(1=>'calculator',3=>'monitor',5=>'imprimanta');
var_dump ($matrice);
?>
Pentru a sterge o pereche cheie/valoare se foloseste unset()

unset($matrice[3]); //sterge cheia 3 din matrice
unset($matrice); //sterge intreaga matrice
Exemplu: stergem elementul 3 din matricea $matrice

<?php
$matrice = array(1=>'Matematica',2=>'Fizica',3=>'Biologie',4=>'Istorie');
unset($matrice[3]); //sterge cheia 3 Biologie
print_r ($matrice);
?>
Variabile predefinite
PHP ofera un mare numar de variabile predefinite oricarui script care ruleaza si sunt functie de serverul pe care functioneaza.
Incepand cu PHP 4.2.0 valoarea default pentru directiva register_globals este off. Aceasta afecteaza setul de variabile predefinite disponibile in scop global.
De exemplu pentru a obtine DOCUMENT_ROOT vom folosi $_SERVER['DOCUMENT_ROOT'] in loc de $DOCUMENT_ROOT cum era in cazul in care register_globals erau on.

PHP Superglobals sunt variabile disponibile oriunde in script

$GLOBALS contine referinte catre toate variabilele care sunt disponibile in scop global scriptului
$_SERVER variabile furnizate scriptului de catre serverul web
$_GET variabile furnizate scriptului via HTTP GET (provin dintr-un formular in care method="GET")
$_POST variabile furnizate scriptului via HTTP POST (provin dintr-un formular in care method="POST")
$_COOKIE variabile furnizate scriptului via HTTP cookies
$_ENV variabile furnizate scriptului de catre mediu
In continuare voi prezenta cateva din cele mai des folosite variabile globale.

$_SERVER['REMOTE_ADDR'] Exemplu: adresa IP a vizitatorului
$_SERVER['HTTP_USER_AGENT'] Exemplu: informatii despre browserul folosit
$_SERVER['HTTP_REFERER'] Exemplu: pagina vizitata anterior
$_SERVER['SERVER_NAME'] Exemplu: numele serverului
$_SERVER['SCRIPT_NAME'] Exemplu: numele scriptului
Scopul variabilelor depinde de contextul in care sunt definite. Majoritatea variabilelor din PHP au un singur scop. Acesta se aplica si pentru fisierele adaugate prin functiile include() si require().

Exemplu:

<?php
$a=10;
include "exemplu1_9b.php";
?>
/* urmeaza fisierul exemplu1_9b.php */
<?php
echo "Mihai are ".$a." ani";
?>

Orice variabila folosita in interiorul unei functii este limitata doar scopului functiei.

Exemplu: deoarece functia foloseste o variabila declarata in afara ei echo nu va afisa nimic

<?php
$a=10;
function mihai() {
echo "Mihai are ".$a." ani";
}
mihai();
?>
Exemplu: aceeasi functie dar acum declaram variabila de tip global motiv pentru care echo va afisa corect

<?php
$a=10;
function mihai() {
global $a; //declaram variabila $a de tip global
echo "Mihai are ".$a." ani";
}
mihai();
?>
Variabile statice
O alta caracteristica importanta a scopului variabilei este variabila statica care exista doar in scopul functiei locale dar isi pierde valoarea cand executia scriptului inceteaza.

Exemplu: executarea succesiva a functiei va afisa tot timpul 0

<?php
function static1() {
$a=0;
echo $a;
$a++;
}
static1();
echo "<br>";
static1();
echo "<br>";
static1();
?>
Exemplu: aceeasi functie dar declaram variabila ca fiind statica. De cate ori functia va fi executata ea va incrementa valoarea anterioara a variabilei $a

<?php
function static1() {
static $a=0;
echo $a;
$a++;
}
static1();
echo "<br>";
static1();
echo "<br>";
static1();
?>
Variabile variabile
Cateodata este util sa avem nume variabil pentru variabila

Exemplu:

<?php
$a="Mihai";
$$a="Ionescu";
echo "$a $Mihai";
?>
Exista functii care determina tipul variabilei.

Exemplu: verificam daca variabila $a este de tip intreg

<?php
$a=19;
if (is_integer($a)) {
echo '$a este intreg';
} else {
echo '$a nu este intreg';
}
?>
Exemplu: verificam daca variabila $a este de tip numar cu virgula flotanta

<?php
$a=3.14;
if (is_float($a)) {
echo '$a este numar cu virgula flotanta';
} else {
echo '$a nu este numar cu virgula flotanta';
}
?>
Exemplu: verificam daca variabila $a este de tip sir

<?php
$a="sir";
if (is_string($a)) {
echo '$a este un sir';
} else {
echo '$a nu este un sir';
}
?>
Exemplu: verificam daca variabila $a este o matrice

<?php
$a = array('fructe','legume','carne');
if (is_array($a)) {
echo '$a este o matrice';
} else {
echo '$a nu este o matrice';
}
?>
 
Forum » Tutoriale si Resurse (T&R) » T&R php » Elemente de baza php(Variabile) (Partea 2)
Pagina 1 din 11
Căutare: