PHP si MySql (Programator Web 2)

DOCUMENTATIE CURS

Operatori de comparare

Definitie
Operatorii de comparare stabilesc daca doua expresii (valori) sunt egale (sau diferite), sau daca una din ele este mai mare (mai mica) decat cealalta. Rezultatul operatiei de comparare este de tip boolean (true sau false)

Operatorii de comparare sunt:

== Egalitate. Returneaza true daca ambii operanzii au aceeasi valoare (chiar daca nu au acelasi tip).
=== Identitate. Returneaza true daca ambii operanzi au aceeasi valoare si acelasi tip de date.
!= Valori diferite. Returneaza true daca operanzii au valori diferite.
<> Sinonim cu !=
!== Returneaza true daca au valori diferite, sau tip de date diferit.
< mai mic
<= mai mic sau egal
> mai mare
>= mai mare sau egal




Sursa script Sursa HTML 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
<?php
$x = (1 > 2);
var_dump($x); // false
$x = (3 == 3);
var_dump ($x); // true
$x = ('3' == 3);
var_dump ($x); // true
$x = ('3' === 3);
var_dump ($x); // false - au valori egale dar tip de date diferit (primul operand e string, al doilea e intreg)
$x = ('3' !== 3);
var_dump($x); // true - au tip de date diferit
$x = (1 != 2);
var_dump($x); // true
$x = (3 >= 4);
var_dump($x); // false
?>
1
2
3
4
5
6
7
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(false)


Nota
Cand se foloseste un operator de comparare pentru a compara un string cu un numar ambii operanzi sunt convertiti la numar (int sau float). Acelasi lucru se intampla cand ambii operanzi sunt stringuri numerice.


Sursa script Sursa HTML 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
<?php
$a = 2;
$b = '3';
var_dump($a < $b); // true - '3' este convertit la int(3)
$a = 3;
$b = '3';
var_dump($a == $b);  // true - $b este convertit la int(3) si este egal cu $a
var_dump($b); // $b este in continuare string. conversia a fost facuta doar in cadrul expresiei de comparare
$a = 'text';
$b = 0;
/*
cand se compara un string cu un numar, 
se convertesc ambii operanzi la numar. 
in acest caz la intreg. 'text' convertit la intreg este 0
*/
var_dump($a == 0); // true. 
$a = '3text';
$b = 2;
var_dump($a == $b) // false - '3text' convertit la intreg este 3
?>
1
2
3
4
5
bool(true)
bool(true)
string(1) "3"
bool(true)
bool(false)


© 2006-2012 Crystal Mind Academy. All rights reserved