Lucrul cu variabilele,constantele si operatorii de baza

Post Title

 

Daca ati citit tutorialul Pimi pasi in PHP sigur ati observat $mere=5 si probabil v-ati dati seama ca este o variabila

care a primit valoarea 5, dar ca sa nu o dau in filozofii ca alte tutoriale o sa prezint tipurile de baza ale variabilelor si declararea acestora.

 

       PHP are 8 tipuri de varabile: integer(numere intregi),string(siruri de caractere), boolean(true sau false),float(numere cu virgula mobila), array(vectorii),object(tipul specific obiectelor unei clase),resource(pastreaza refererinte catre anumite resurse) si null(se atribuie unei variabile sau constante neinitializate).

 

Obs. O variabila trebuie sa inceapa tot timpul cu $

 

1.integer exemplu:

  1.  
  2. <?php
  3. $primul=1;
  4. $utlimul=9;
  5. $rezultat=$primul+ultimul;
  6. echo $rezultat;
  7. //sau echo $primul+$ultimul;
  8. ?>

 

Aici ar mai trebui specificat ca orice valoare true va fi convertita la 1 iar orice valaore false va fi convertita la 0, dar despre conversii va fi un tutorial separat.

 

2.string exemplu:

  1.  
  2. <?php
  3. $string='<b>Ana are mere</b>';
  4. echo $string;
  5. ?>

 

Aici apar cateva chestii interesante ca includerea " sau a unui tab, linie noua etc

-pentru " se foloseste "\"" adica " precedat de \

-pentru $ se foloseste "\$" ;

-pentru tab "\t";

-pentru linie noua se foloseste "\n";

-pentru sfarsit de line se folose "\r";

 

Apare aici si declararea sirurilor prin operatorul "<<<" adica heredoc

 

  1.  
  2. <?php
  3. $str = <<<EOD
  4. Example of string
  5. spanning multiple lines
  6. using heredoc syntax.
  7. EOD;
  8. echo $str;
  9. ?>

 

Sau string html de forma

  1.  
  2. <?php
  3. $str=<<<HTML<b>micul-programator</b><i>sursa ta de cunostinte</i>HTML;
  4. echo $str;
  5. ?>

 

3.float exemplu :

 

  1.  
  2. <?php
  3. $nrfloat=2.2;
  4. $nrfloat_doi=1.7;
  5. echo $nrfloat+$nrfloat_doi;
  6. ?>

Rezultatul poate fi un numar float sau integer.

 

4.Array exemplu

 

In php ca si in alte limbaje tablourile sunt foarte importante mai ales ca PHP are variabile super globale care pastreaza

datele ca tablouri.

Exemple:

 

  1.  
  2. <?php
  3. $date=array('Ionica'=>'Bucuresti',
  4. 'Vasile'=>'Suceava',
  5. 3=>'Cluj');
  6. //pentru a putea apela datele array-ului se foloseste : $array['cheie']
  7. echo $date['Ionica'].'</br>'; //Bucuresti
  8. echo $date[3].'</br>'; //Cluj
  9. //penrtu a vedea toate cheile se foloseste functia array_keys
  10. print_r(array_keys($date)); // Array ( [0] => Ionica [1] => Vasile [2] => 3 )
  11. <?

 

5.Prin tipul obiect intram in sfera oop adica a programarilor orietata pe obiecte, ca sa intelegeti acest concept ganditi-va la telefonul care il folositi zilnic, el este o clasa de obiecte si doar prin intermediul unor butoane puteti sa lucrati cu el, asa este si cu oop doar prin intermediul unor date membre publice o sa lucrati cu accea clasa.

 

Exemplu:

 

  1.  
  2. <?php
  3. class Mp {
  4. //date membre
  5. private $date='Ana are mere';
  6. //defenim o metoda
  7. public function afiseaza() {
  8. return $this->date;
  9. }
  10. }
  11.  
  12. //definim obiectul (tipul obiect)
  13. $ob = new Mp();
  14. echo $ob->afiseaza(); //Ana are mere
  15. ?>

Mai multe despre tipul obiect vor fi prezentate in tutorialul despre oop.

 

6. Tipul resursa pastreaza referinta catre anumite resurse, exemplu o conexiune la baza de date.

 

7. Pentru tipul NULL nu cred ca trebuie sa specific ceva, deoarece oricine intelege din context la ce se refera, oricum detalii aici

 

8. Tipul boolean exemplu

 

  1.  
  2. <?php
  3. $var=true;
  4. //verificam daca este true
  5. if ($var) {
  6. echo 'Variabila este true';
  7. }else{
  8. echo 'Variabila este false';
  9. }
  10. ?>
//obs. orice valoare intreaga > 0 va fi convertita la true, un array vid va fi converiti la false 

 

Cam atat despre variabile, acum sa vorbim despre constantele PHP. Probabil deja ati intuit inca din nume ca o variabila are o valoare "variabila" iar o constanta are o valoare "constanta".

 

Pentru a defini o constanta se foloseste functia define()

 

  1.  
  2. <?php
  3. define('NUME','micul-programator');
  4. echo NUME;
  5. ?>

 

De mentionat este faptul ca este o conventie ca numele de constante sa fie scrise cu litere mari, nu este obligatoriu insa este recomandat.

 

Asa cum sunt variabile predefinite asa sunt si constante numite "constante magice":

 

Nume  Descriere
 __LINE__  Intoarce numarul liniei la care este apelata.
 __FILE__  Intoarce numele fisierului in care este apelata .
 __DIR__  Intoarce calea catre fisierul unde se afla fisierul in care este apelata.
 __FUNCTION__  Intoarce numele functiei in care este apelata
 __CLASS__  Intoarce numele clasei in care este folosita
 __TRAIT__  Intoarce numele trasaturi in care este folosita, e un concept mai nou
__METHOD__   Intoarce numele metodei in care este folosita ex : Test::mp
 __NAMESPACE__  Intoarce numele namespace-ului.

 

 

PHP are 9 tipuri de operatori dintre care importati sunt TOTI, nu exista operator neimportant( asta fiindca ma intrbat cineva de ce i-ar folosi lui operatori pe biti).

 

1. Operatori aritmetici: +,-,*,/ si %(modulo)

 

  1.  
  2. <?php
  3. $a=1;
  4. $b=2;
  5. echo $a+$b;//3
  6. echo $a-$b;//-1
  7. echo $a/$b;//0.5
  8. echo $a*$b;//2
  9. echo $a%$b;//1
  10. ?>

 

2. Operatori de atribuire, operatorul clasic de atribuire este "=" insa sunt si combinatii intre el si alti operatori

 

  1.  
  2. <?php
  3. $a=1;//adribuim lui a valoare 1
  4. $a+=$a;//valoarea lui $a este 2 , varianta normala este $a=$a+$a //lui $a i se atribuie 1+1 adica 2.
  5. ?>

 

In acest fel se pot folosi si ceilati operatori pe langa operatorul de atribuire.

 

3. Operatori de Comparare "==","===","!==","<",">","<=",">=";

 

  1.  
  2. <?php
  3. $a=true;
  4. $b=1;
  5. if($a==$b){
  6. echo 'egalitate'; // va returna egalitate (raspunsul este mai sus in tipurile de variabile)
  7. }
  8. if($a===$b){
  9. echo 'identice'; //pentru a obitine identice se foloseste operatorul "!==";
  10. }else{
  11. echo 'diferite'; //va returna diferite
  12. }
  13. if($a<b){
  14. echo '$a<$b';
  15. }
  16. //operatori gen "<=" se folosesc prin bucle sau chiar alte expresii
  17. ?>

 

4. Operatori Logici ca: OR( || ), AND( && ), NOT( ! ).

 

  1.  
  2. <?php
  3. $a=1;
  4. $b=2;
  5. if($a&&$b){
  6. echo 'and '; //va returna and daca ar fi fost $b=false atunci nu se indeplinea conditia.
  7. }
  8. //cu alte cuvinte daca ambele expresii "legate" prin && trebuie sa fie adevarate
  9. //pe cand la || una dintre ele trebuie sa fie adevarata
  10. if(!$b){
  11. echo 'false';
  12. }
  13. ?>

 

5.Operatorul de "ascundere" a erorilor

 

In PhP operatorul "@" va permite controul afisari unei erori, daca o expresie este precedata de @ si ea returneaza o eroare acea eroare nu este afisata, ea fiind ignorata.

 

6.Operatorul de prioritate 

 

Dupa cum banuiesc ca stiti de la matematica operatia de inmultire este prioritara in fata adunari de accea in matematica se folosesc (), in php se foloseste acelasi concept adica:

 

  1.  
  2. <?php
  3. $exp = (1+5)*4;
  4. echo $exp; //24 si nu 21 din cauza ca operatia din () are prioritate
  5. ?>

 

Tot pe acest operator se beazeaza si atribuirea unei varabile direct intr-o conditie de egalitate. exemplu:

 

  1.  
  2. <?php
  3. if (($b=1)==1) {
  4. echo '$b=1'; //va returna $b=1 la fel se poate face si cu pasarea unei valori de la o functie
  5. }
  6. ?>

7.Operatorul Ternar "? : " 

 

Evaluiaza o expresie , daca este adevarata atunci expresia va lua prima valoare de dupa ? daca nu valoarea de dupa : , exempu:

 
  1.  
  2. <?php
  3. $este = true;
  4. $a = $este ? 1 : 0;
  5. echo $a; //va afisa 1
  6. ?>

 

8. Operatori de incremetare si decrementare(++ si --);

 

De exemplu o varabila $a=1 ; daca se va afisa $a++ ea va primi 2, pentru decrementare va primi valoare 0;

O sa intgelegi acest operator cand vom face bucla for  si foreach

 

9. Operatori pe biti &, "|, ~, ^, <<, >>"

 

Operatori pe biti ca si in celelalte limbaje sunt o categorie mai delicata, vom vorbi mai mult despre ei cand va veni momentul sa ii utilizam, pana atunci o sa dau doar cate detalii despre ei

| -> disjunctie asemantor cu OR (||);

& ->conjunctie asemanator cu AND (&&);

^ -> XOR;

~ -> asemnator cu negatia NOT;

<<->deplasare pe biti la stanga;

>>->deplasare pe biti la dreapta;

 

Cam atat in acest tutorial, ne mai auzim in tutorialele viitoare , acest tutorial nu poate fi copiat fara precizarea sursei si a autorului.

 

Autor articol

Ştiinţa fără religie este şchioapă, religia fără ştiinţă este oarbă (Albert Einstein)

Articolul anterior

Articolul urmator


Acest articol nu este comentat, fii primul care o face

Trebuie sa fii logat sa poti lasa un comentariu Autentificare Inregistrare Logare cu Facebook
top