Invata PHPcu punctsivirgula.ro

1.
2. Instalare PHP
3. Ce inseamna PHP?
4. Notiuni de baza
5. Variabile. Constante
6. Vectori globali. Constante magice
7. Operatori
8. Structuri repetitive
9. Aplicatii: repetitive
10. Operatii cu vectori
11. Operatii cu siruri
12. Data si timp
13. Functii in PHP
14. Formulare
15. GET vs. POST
16.
17. Upload de fisiere
18. Headere
19. Cookies
C O N T I N U T
Tutorial PHP in limba romana.

Explicatii, exemple si aplicatii in PHP pentru incepatori


Operatori de comparare     !  

$a == $b // egal
$a === $b // identic (aceeasi valoare si acelasi tip) 
 
$a != $b // diferit
$a <> $b // diferit
$a !== $b // ne-identic
 
$a < $b // strict mai mic
$a <= $b // mai mic sau egal
 
$a > $b // strict mai mare
$a >= $b // mai mare sau egal
Exemple:
<?php
$a = 4; # initializam $a cu numarul 4
$b = "4"; # initializam $b cu string-ul "4"
 
if( $a == 4 ) print "\$a este 4";   # va afisa "$a este 4"
else print "\$a nu este 4";
 
if( $a == $b ) print "Sunt egale";  # va afisa "Sunt egale"
else print "Nu sunt egale";
 
if( $a === $b ) print "Sunt identice";  # va afisa "Nu sunt identice"
else print "Nu sunt identice";
# Nota: deoarece $a este numar iar $b string, ele nu sunt identice
 
if( $a > 4 ) print "\$a este mai mare decat 4";
?>
Atentie! Daca se compara un string (text) cu un numar, stringul este convertit la un numar. Exemplu:
"text" == 0 // echivalent 0 == 0, evalueaza la true

Daca se compara 2 stringuri ce contin numere, acestea sunt mai intai convertite la numerele pe care le reprezinta si apoi are loc comparatia. Astfel, 2 texte care sunt diferite ar putea fi considerate egale. Exemplu:

"1" == "01" // echivalent 1 == 1, evalueaza la true
"1" == "1e0" // echivalent 1 == 1, evalueaza la true
Nota: "01" si "1e0" sunt notatii matematice diferite pentru numarul 1.

Diferenta intre operatorii == si =
Operatorul == este diferit de operatorul de atribuire = si nu trebuie confundati. Dublu-egal (==) este folosit pentru comparare iar egal simplu (=) - pentru atribuirea de valori unei variabile.

# $a = 5 este o atribuire.
print $a = 5; // 5
# instructiunea print afiseaza rezultatul atribuirii ( rezultatul unei atribuiri este 
# intotdeauna egal cu valoarea atribuita
 
# $a == 1 este o verificare. Instructiunea afiseaza rezultatul verificarii.
print $a == 1; // false

In timp ce atribuirile se pot folosi atat de sine statator ($a = 1;), cat si ca expresii in cadrul instructiunilor (print $a = 1; return $a = 1;) operatorii == sau === sunt folositi doar in cadrul instructiunilor.

# corect
$a = 10; # atribuire de sine statatoare
print $a = 10; # atribuire + afisarea rezultatului atribuirii
 
# incorect - nu genereaza erori dar aceasta constructie este inutila.
$a == 1; # nu se face nimic cu rezultatul comparatiei
 
# corect
print $a == 1; # se afiseaza rezultatul comparatiei
print $a === '1'; # se afiseaza rezultatul comparatiei exacte
if( $a == 1 ) echo 'egal'; # se face o verificare

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.

 


Operatorul ternar     !  

PHP ofera un operator care are 3 termeni. Sintaxa lui este urmatoarea:

(conditie ? adevarat : fals )

De remarcat ca adevarat, fals si conditie nu sunt instructiuni ci expresii (variabile, constante, stringuri, etc) iar operatorul returneaza o valoare si nu o variabila.

print ( 1 == 2 ? 'egal' : 'ne-egal' ); // afiseaza ne-egal

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.

 


Operatori de incrementare/decrementare     !  

Incrementare inseamna cresterea valorii, de obicei cu o unitate, iar decrementarea este operatia inversa. PHP ofera (ca si C/C++) posibilitatea ca incrementarea/decrementarea sa se faca printr-un operator, fara sa fie nevoie de o instructiune separata. Spre exemplu:

$a = 1;
 
// pentru a-l creste pe $a cu o unitate, normal am scrie:
$a = $a + 1;
 
// folosind operatorul de incrementare scriem:
$a++;
// sau
++$a;
 
// pentru a afisa noua valoare, putem aplica operatorul direct din instructiunea print:
print ++$a;

Dupa cum se poate observa, putem scrie $a++ si ++$a. Diferenta este ca atunci cand ++ apare inainte de variabila, PHP face mai intai incrementarea si apoi returneaza noua valoare. Cand ++ apare dupa, se returneaza valoarea actuala (ne-incrementata) si apoi se creste cu o unitate. Exemplu:

$a = 1;
print $a++; // afiseaza 1 - mai intai se afiseaza valoarea curenta, dupa care $a devine 2;
print $a; // afiseaza 2 - $a are valoarea 2 dupa incrementare;
 
$a = 1
print ++$a; // afiseaza 2 - mai intai $a creste cu o unitate, apoi este afisata noua valoare
print $a; // afiseaza 2 - $a are valoarea 2;

Nota: aceleasi observatii (legate de pozitie) se aplica si pentru operatorul de decrementare.

$a = 2;
print $a--; // afiseaza 2 - mai intai se afiseaza valoarea curenta, dupa care $a devine 1;
print $a; // afiseaza 1 - $a are valoarea 1 dupa decrementare;
 
$a = 2
print --$a; // afiseaza 1 - mai intai $a scade cu o unitate, apoi este afisata noua valoare
print $a; // afiseaza 1 - $a are valoarea 1;
eugen a spus decrementare - 14.03.2009

--$a
//su
$a--


Adauga un comentariu la aceasta sectiune.

 


Operatori de atribuire     !  

$a = 1; // atribuire simpla
 
$a += 4; // echivalent cu $a = $a + 4; $a are valoarea 5 acum
$a -= 1; // echivalent cu $a = $a - 1;
$a *= 2; // echivalent cu $a = $a * 2;
$a /= 3; // echivalent cu $a = $a / 3;
$a %= 2; // echivalent cu $a = $a % 2; restul impartirii lui $a la 2
 
$a = &$b; /* $a este o referinta la $b, adica ambele variabile fac referire 
   la aceeasi entitate; daca $a se schimba, se va schimba si $b. 
   Altfel spus, $a este un alias pentru $b */
 
$s = "Salut"; // atribuire simpla
$s .= " straine!"; // echivalent $s = $s . " straine!";
eugen a spus o mica corectie - 14.03.2009

$a += 4; // echivalent cu $a = $a + 1; $a are valoarea 5 acum

Alexandru a spus corectie - 16.03.2009

De fapt este echivalent cu $a = $a + 4 - hehe, neatentia e molipsitoare :P
Am corectat, multumesc!


Adauga un comentariu la aceasta sectiune.

 


Operatori pentru siruri de caractere     !  

In aceasta categorie sunt inclusi 2 operatori ".=" (operator de atribuire prin concatenare - vezi mai sus) si "."
Punctul (.) este operatorul de concatenare (legare) stringuri.

print "Text1" . " legat de " . "Text2"; // afiseaza Text1 legat de Text2
 
$a = "Eu am";
print $a . " mere"; // afiseaza Eu am mere;

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.

 


Operatori de control al erorilor @     !  

Operatorul @ este folosit pentru a suprima erorile sau avertismentele produse de PHP.

// $nedefinit = 1; - nu se executa, variabila nu e definita
print $nedefinit; // Notice: Undefined variable: nedefinit in file.php on line 120
@print $nedefinit; // nu va genera nici un avertisment / notificare
 
include( "inexistent.php" ); // Warning: include(nedefinit) failed to open...
@include( "inexistent.php" ); // nu afiseaza nici un avertisment

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.

 


Operatorul de executie ` `     !  

Operatorul de executie permite rularea unor aplicatii sau comenzi ale sistemului de operare direct din PHP. Rezultatul executiei este capturat de script si poate fi prelucrat sau afisat. Operatorul ` ` este echivalent cu functia shell_exec.

# in ambele situatii de mai jos este afisat continutul directrului curent
$output = `ls -al`;
echo "<pre>$output</pre>";
 
$output = shell_exec('ls -ala');
echo "<pre>$output</pre>";

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.

 


Alti operatori     !  

PHP mai dispune de urmatoarele tipuri de operatori:

  • Operatori aritmetici: +, -, *, etc
  • Operatori pe biti: &, |, ^, ~, <<, >>
  • Operatori logici: and, or, xor, &&, ||
  • Operatori de tip: instanceof
  • Operatori pentru vectori: asemanatori celor de comparare, doar ca se aplica vectorilor, operatorul de uniune (+) - leaga 2 sau mai multi vectori

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.