Expresii Php și operatori, prioritate și asociativitate

O expresie este orice unitate a codului sursă al unui program care poate fi calculată pentru a obține o valoare, de exemplu, un apel funcțional, utilizarea operatorilor sau pur și simplu accesarea unei variabile după nume. În PHP, aproape totul este o expresie.







Expresiile sunt împărțite în simple (numite și primare) și complexe. Expresiile primare sunt expresii independente - nu includ expresii mai simple. De exemplu, expresiile primare sunt: ​​identificatori, literali și operatori de grupare. Expresiile complexe constau în expresii simple. O modalitate tipică de a construi expresii complexe din expresii simple este de a folosi operatorii:

Unele expresii, precum și instrucțiuni, se termină cu un punct și virgulă, de exemplu:

Astfel, diferența dintre o expresie și o instrucțiune este că orice expresie este ceea ce este evaluat pentru a obține o valoare și o instrucțiune este pur și simplu o indicație a unei acțiuni.

Un operator este un element al codului de program care descrie o acțiune într-o expresie. În PHP, operatorul este un simbol prin care se pot efectua diferite tipuri de calcule, comparații sau sarcini care implică una sau mai multe valori. Operatorii diferiți diferă în funcție de tipul și numărul de operanzi. În PHP se utilizează mai multe tipuri de operatori: aritmetică, asignare, comparație, logică și bitwise (bitwise). Valorile situate pe laturile operatorilor sunt numite operanzi:

Literele numerice de pe ambele părți ale operatorului + sunt operanzii săi. Operandul este ceea ce afecteaza operatorul. Operanzii și operatorii duc la o expresie care formează o nouă valoare.

Din toate cele de mai sus, putem concluziona că expresia este două sau mai multe subexpressions, unite de operatori. Cu cât mai aveți subexprimări și operatori, cu atât expresia este mai lungă și mai grea.

Atunci când se lucrează cu operatori, următoarele aspecte sunt de o importanță deosebită:

  • numărul de operanzi
  • tipul de operandi
  • prioritate (ordin de execuție)
  • asociativitatea operatorilor






Numărul de operanzi

Operatorii diferiți iau numere diferite de operanzi. Operatorii care lucrează cu doi operanzi se numesc binari. astfel de operatori includ adăugarea, scăderea, multiplicarea etc.

Alți operatori pot lua doar un singur operand, sunt numiți unari. Exemple de operatorul unar pot fi minus unar (-), increment, decrement, etc.

Există, de asemenea, un operator care poate lucra cu trei operanzi, un astfel de operator fiind numit operator ternar. Acest operator este un operator care este o formă abreviată a notației pentru operatorul condițional dacă, pe care o vom discuta mai târziu atunci când luăm în considerare operatorii condiționali.

Tipuri de operandi

Când se creează expresii, este necesar să se acorde atenție tipurilor de operanzi cu care lucrează fiecare operator, deoarece fiecare operator se așteaptă să primească operanzi ai unui anumit tip de date. De exemplu, nu puteți multiplica două rânduri

Cu toate acestea, PHP încearcă să vă facă viața cât mai ușoară posibil, efectuând automat transformările necesare ale tipurilor de operand pentru anumiți operatori. Expresia următoare este complet acceptată:

În această expresie, interpretul PHP convertește automat șiruri de caractere la numere și le multiplică. Dar, uneori, o astfel de conversie automată este imposibilă, așa că fiți atenți și urmați tipurile de operanzi folosiți.

Notă: atunci când PHP efectuează o conversie automată de tip, aceasta se numește o transmisie de tip implicită dacă conversia de tip se face manual - se numește turnare de tip explicită.

Prioritatea operatorului determină ordinea execuției operațiilor atunci când se calculează valoarea expresiei.

Operatorii cu aceeași prioritate sunt procesați în ordinea în expresie. De exemplu, operațiile de înmulțire și de divizare sunt executate în ordinea în care ele urmează în expresie, deoarece au aceeași prioritate.

Dacă expresia conține operatori cu priorități diferite, atunci ordinea execuției acestora poate afecta rezultatul final al expresiei. Cu ajutorul parantezelor (și), puteți redefini ordinea de executare a instrucțiunilor sau pur și simplu îmbunătățiți lizibilitatea expresiei.

În a doua expresie de multiplicare va fi efectuată după adăugarea deoarece ordinea de executare a operatorilor a fost înlocuită folosind paranteze.

asociativitatea

Toți operatorii își procesează operanzii într-o anumită direcție. Direcția procesării se numește asociativitate și depinde de tipul operatorului. Majoritatea operatorilor efectuează procesarea de la stânga la dreapta - această ordine este denumită asociativitate stângă. asociativitatea Stânga înseamnă că expresia este evaluată de la stânga la dreapta asociativitate, dreapta - în direcția opusă.

Tabel de operatori

În PHP, există mai multe niveluri de prioritate, tabelul listează operatorii ordonați după prioritate, de la cea mai mare la cea mai mică. Operatorii de la același nivel au aceeași prioritate.

În coloana "Asociativitate", operatorii care au asociativitate corectă sunt etichetați, ceilalți sunt la stânga.







Articole similare

Trimiteți-le prietenilor: