PHP si MySql (Programator Web 2)

DOCUMENTATIE CURS

Variabile

Ce sunt variabilele ?
Un program lucreaza cu anumite date, cu anumite valori. Un programator, in timp ce scrie codul sursa pentru un program, nu stie si nici nu trebuie sa stie care sunt valorile respective de fiecare data cand programul se executa. Majoritatea valorilor/datelor sunt calculate dinamic, la fiecare executie a programului. Daca valorile respective ar fi cunoscute, probabil programul nu si-ar mai avea rostul. De exemplu, realizez un program ce face o cautare intr-o baza de date dupa un cuvant introdus de utilizator. In momentul cand scriu programul, nu stiu care este cuvantul respectiv, pentru ca acel cuvant va fi primit ca input de la utilizator la fiecare executie a programului. Nici nu stiu ce rezultate voi afisa prin program. Pentru ca acele rezultate vor fi calculate dinamic in functie de cuvantul introdus. Atat cuvantul introdus de utilizator cat si rezultatele returnate, vor fi tinute in variabile.

Definitie
Variabilele sunt nume, etichete (abstractizari) ale datelor cu care lucram. Tehnic, o variabila face o referire la o zona din memoria RAM a calculatorului. In momentul cand atribuim o valoare unei variabile, in zona respectiva de memorie este tinuta valoarea respectiva. Putem atribui de oricate ori aceleasi variabile alte valori.




Nota
Numele de variabile PHP sunt case-sensitive (conteaza litera mare / mica ) dar numele de functii si clase nu sunt ! Asta inseamna ca $nume este diferit de $Nume


Variabilele PHP incep cu simbolul $, urmat de o combinatie de litere, cifre sau underscore (_). Primul caracter de dupa $ este obligatoriu litera sau underscore.

1
2
3
4
5
6
7
8
<?php
$nume persoana = 'John Smith'; // eroare: am spatiu in numele variabilei
$nume-persoana = 'John Smith'; // eroare: am - in numele variabilei
$numePersoana = 'John Smith'; // corect
$numePersoana23 = 'John Smith'; // corect: am si cifre, dar nu se afla la inceput
$2numePersoana = 'John Smith'; // eroare: am cifra la inceput
$nume_persoana = 'John Smith'; // corect
?>


Initializarea unei variabile
O variabila capata o valoare prin operatorul de atribuire/asignare (=). Variabila poate fi folosita apoi in program, sau pur si simplu afisata cu constructia echo, de care vom vorbi mai tarziu.

Sursa script Vizualizare in browser
1
2
3
4
5
6
<?php
$a = 5;
$b = 5;
echo $a;
echo $b;
?>
55


Nota
Asa cum deja ati observat, instructiunile de afisare in PHP sunt pe linii diferite dar outputul (sirul de caractere rezultat din program) este continuu, adica nu contine newline (\n) sau spatiu intre diferitele valori afisate. Si chiar daca ar contine newline, in browser newline-ul se traduce printr-un spatiu. Cand vrem sa vedem o valoare pe o alta linie, introducem inainte instructiunea echo '<br />'; ca sa adaugam echivalentul newline-ului in HTML pentru afisarea pe care o dorim in browser.


Exemplul de mai sus poate arata astfel:


Sursa script Vizualizare in browser
1
2
3
4
5
6
7
<?php
$a = 5;
$b = 5;
echo $a;
echo ' ';
echo $b;
?>
5 5



sau:


Sursa script Vizualizare in browser
1
2
3
4
5
6
7
<?php
$a = 5;
$b = 5;
echo $a;
echo '<br />';
echo $b;
?>
5
5


isset(), unset(), NULL
O variabila neinitializata are implicit valoarea NULL. Valoarea NULL este singura valoarea posibila din tipul de date cu acelasi nume, NULL.
NULL este un cuvant rezervat in PHP si este case-insensitive. Cand "distrugem" o variabila cu ajutorul functiei unset(), memoria alocata variabilei respective este eliberata, si variabila va deveni NULL. Cu ajutorul functiei isset() verificam daca o variabila a fost setata. isset($var) va returna TRUE daca $var este setata, si FALSE daca $var nu este setata sau a fost distrusa cu unset().

Sursa script Vizualizare in browser
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
echo $a; // nu se afiseaza nimic
echo gettype($a); // se afiseaza: NULL
echo '<br />';
/* isset($a) va returna FALSE deci 
instructiunea din if nu va fi executata
*/
if (isset($a)) {
  echo 'a este setat';
 }
$a = 5;
if (isset($a)) {
  echo 'abia acum a este setat';
 }
unset($a);
if (isset($a)) {
  echo 'mai este a setat ? '; // nu
 }
?>
NULL
abia acum a este setat



empty()
Functia empty() este deseori utila in verificarea variabilelor. Ca si isset() sau unset() primeste ca argument numele unei variabila. empty() verifica daca variabila respectiva are o valoare "goala" sau "empty" caz in care returneaza TRUE. Altfel, returneaza FALSE. Urmatoarele valori sunt considerate "empty":
  • NULL - deci empty() poate primi ca argument un nume de variabila neinitializata (cu valoarea null), si NU va genera o eroare. Bineinteles va returna TRUE
  • "" - sirul gol
  • 0 (intregul 0)
  • "0" (stringul 0)
  • FALSE
  • array() - un array fara elemente


In multe cazuri, este mai simplu sa folosim empty() in loc sa folosim isset() si sa verificam apoi ca variabila respectiva are valoare. Ex: if (empty($nume)) versus if (isset($nume) && $nume != "")
Sau, pentru un array: if (empty($data)) versus if (isset($data) && count($data))
© 2006-2012 Crystal Mind Academy. All rights reserved