Home » Articole » Articole » Calculatoare » Programare » PHP » Manipularea datelor în PHP: Operatori de comparație

Manipularea datelor în PHP: Operatori de comparație

postat în: PHP 0

PHP acceptă multe dintre comparațiile matematice comune limbajelor de programare, cum ar fi echivalența și compararea valorii relative. Totuși, simbolurile utilizate pot fi diferite de cele cu care sunteți obișnuit. În graficul de mai jos vom analiza cum să reprezentăm fiecare test de comparație și în ce condiții ne putem aștepta ca testul să revină ca adevărat.

Tabelul 11 Operatori de comparație

Exemplu Nume Rezultat
$a == $b Egal TRUE dacă $a este egal cu $b.
$a === $b Identic TRUE dacă $a este egal cu $b, și sunt de același tip. (introdusă în PHP 4)
$a != $b Inegal TRUE dacă $a nu este egal cu $b.
$a < > $b Inegal TRUE dacă $a nu este egal cu $b.
$a !== $b Neidentic TRUE dacă $a nu este egal cu $b, sau nu sunt de același tip. (introdusă în PHP 4)
$a < $b Mai mic decât TRUE dacă $a este strict mai mic decât $b.
$a > $b Mai mare decât TRUE dacă $a este strict mai mare decât $b.
$a <= $b Mai mic sau egal cu TRUE dacă $a este mai mic sau egal cu $b.
$a >= $b Mai mare sau egal cu TRUE dacă $a este mai mare sau egal cu $b.

Aceste teste vor fi utile pe măsură ce trecem prin structuri logice. Rezultatele acestor comparații ne pot ajuta să stabilim un curs de acțiune, cum ar fi ceea ce este afișat utilizatorului, modul în care modificăm sau creăm date sau răspundem la intrarea utilizatorului. Acordați o atenție deosebită diferenței dintre testele egale (==) și identice (===). Egal înseamnă că comparația fiecărei părți este considerată aceeași. De exemplu, 1 și True sunt considerate egale, deoarece PHP va trata un 1 ca un număr întreg și o reprezentare binară a adevăratului. Dacă vrem să ne asigurăm că elementele sunt aceleași atât ca valoare, cât și ca tip, am folosi strict egal. Acest test returnează un fals în exemplul nostru, deoarece 1 și True nu sunt ambele numere întregi ale valorii 1. De asemenea, nu uitați cel puțin al doilea =, deoarece doar unul va fi tratat ca atribuire, nu un test logic!

Ordinea operațiunilor

PHP urmează ordinea tradițională a operațiilor utilizate în matematică, așa cum se găsește mai jos. O asociativitate de „stânga” înseamnă că analizatorul va citi de la stânga la dreapta în ecuație. „Dreapta” înseamnă că se va deplasa de la dreapta la stânga (adică: atribuiți ecuația elementului din stânga semnului =). Precedența are loc de sus în jos, ceea ce înseamnă că operatorii mai sus în această listă vor fi evaluați înaintea celor de sub ei. La fel ca în matematică, paranteza va întrerupe această listă tratând conținutul fiecărui set de paranteze (din cele mai interioare) ca pe o declarație în sine. Porțiunea din tabel în galben evidențiază operatorii cei mai folosiți pentru dezvoltare sub nivelul aplicației.

NOTE SUPLIMENTARE: Țineți cont! În timp ce utilizați cuvintele „and” și „or” în instrucțiunile dvs. logice, PHP nu vă va da o eroare, deoarece acestea sunt în ordinea de prioritate de mai jos. Rețineți că sunt sub semnul = – acest lucru vă va afecta ecuațiile logice. În marea majoritate a timpului, veți dori să utilizați „&&” și „||”, deoarece acestea vor fi evaluate înainte de atribuire.

Tabelul 12 Precedența operatorului

Asociativitate Operatori
non-asociativ clonează nou
stânga [
non-asociativ + + –
dreapta ~—(int) (float) (string) (array) (object) (bool) @
non-asociativ instanța a
dreapta !
stânga * / %
stânga +-.
stânga << >>
non-asociativ < <= > >= <>
non-asociativ == ! ==== ! ==
stânga &
stânga ^
stânga |
stânga &&
stânga ||
left ?:
left = += -= *= /= .= %= &= |= ^= <<= >>= =>
left and
left xor
left or
left ,

 

Să ne uităm la câteva exemple pentru a demonstra precedența în PHP:

echo 3 * 4 + 3 + 2; 17 Înmulțirea are prioritate și toate sunt evaluate de la stânga la dreapta
   
echo 3 * (4 + 3 + 2); 27 Parantezele au prioritate, astfel încât adunarea este evaluată înainte de înmulțire
   
Given: $this = true; $that=false

$result = $this && $that

$result = false true and false is false
   
$result = $this and $that $result = true $this (true) is assigned before $this and $that is evaluated

 

Sursa: Michael Mendez, The Missing Link – An Introduction to Web Development and Programming (CC BY-NC-SA 3.0 License), Published by Open SUNY Textbooks, Milne Library (IITG PI), State University of New York at Geneseo. Traducere de Nicolae Sfetcu

Ghid WordPress pentru dezvoltatori
Ghid WordPress pentru dezvoltatori

Resursa esențială care te va ghida pas cu pas în lumea complexă a platformei WordPress.

Nu a fost votat 18.29 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Ghid WordPress pentru începători
Ghid WordPress pentru începători

Descoperă arta gestionării site-urilor web cu WordPress!

Nu a fost votat 13.70 lei25.11 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Proiectarea, dezvoltarea şi întreţinerea siturilor web
Proiectarea, dezvoltarea şi întreţinerea siturilor web

Ghidul complet pentru proiectarea, dezvoltarea și întreținerea siturilor web, o resursă indispensabilă

Nu a fost votat 13.70 lei54.86 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *