Învățarea operatorilor php

Un operator este o descriere a unei acțiuni pe care interpretul trebuie să o facă cu variabilele specificate. Operatorii sunt incluși în cele mai multe expresii și vă permit să modificați sau să comparați valorile variabilelor. Variabilele la care operatorul este asociat sunt numite operandi. În lecția anterioară am utilizat deja 3 operatori: atribuții "=", comparații ">" și concatenare (îmbinare) a șirurilor ".";







Nu confunda expresiile și operatorii. Operatorul definește acțiunea necesară, iar expresia este un mic fragment complet al programului în care pot intra operatori, variabile, constante etc.

O proprietate importantă a operatorilor este prioritatea (altfel numită "vechimea" sau "greutatea"). Această proprietate determină în ce secvență vor fi executate fragmentele aceleiași expresii. În lecția anterioară, am atins acest subiect puțin atunci când am considerat cuibăritul expresiilor.

A doua proprietate importantă este asociativitatea. Proprietatea determină în ce direcție sunt evaluate variabilele la care operatorul este aplicat. Operatorul poate fi "asociativ în stânga", "asociativ pe dreapta" sau nu asociativ. Asociativitatea stângă înseamnă că valorile operanzilor sunt evaluate de la stânga la dreapta, iar asociativitatea dreaptă este inversată. Un exemplu de declarație "stânga" este plus, un exemplu de declarație corectă este o sarcină.

Tabelul listează operatorii în ordinea descrescătoare a priorității. Operatorii pe o singură linie se calculează luând în considerare asociativitatea.

În linia "$ assoc = 3 * 3% 5;" Se utilizează simultan 3 operatori: atribuirea "=", multiplicarea "*" și împărțirea cu modulul "%". Tabelul prezintă primul operator din expresie (numărat din stânga-dreapta) - alocare. Acesta este operatorul "drept" și cel mai puțin prioritar. apoi mai întâi trebuie să calculați operandul potrivit ("3 * 3% 5"). Operandul drept este o expresie cu doi operatori "stanga" cu prioritate egala. Prin urmare, calculul se face simplu secvențial de la stânga la dreapta. Rezultatul calculului operandului drept devine operandul operatorului join. Rezultatul tuturor operațiunilor - variabila $ assoc obține valoarea 4.

Tipuri de operatori

Toți operatorii sunt împărțiți în 11 grupe:

  • aritmetică
  • Alocări
  • pic
  • comparație
  • Controlul erorilor
  • execuție
  • Creștere / Decrementare
  • puzzle
  • șir
  • Array Operatori
  • Operatorii de tip

Operatori aritmetici

Valoare cu semn opus

Sumă a doi operanzi

Diferența dintre doi operanzi

Produsul a două numere

Un număr privat de două numere

Diviziune după modul

Restul diviziunii întregi

În lecțiile următoare vom folosi în mod repetat operatorul%, așa că o să stau mai mult în detaliu. Rezultatul divizării prin modul este diferența minimă dintre valoarea inițială și valoarea egală cu divizorul înmulțită cu întreaga parte a coeficientului obișnuit. De exemplu, 12% 5 = 2, deoarece 12% 5 = 12 - (5 * [12/5]) = 12 - (5 * [2,4]) = 12 - (5x2) = 12-10 = 2.

În practică, împărțirea manuală a $ a modulo $ b se face astfel:
  1. Împărțim $ a cu $ b, obținem $ c
  2. Dacă $ c este egal cu zero, atunci $ a% $ b = 0
  3. Dacă $ c nu este egal cu zero, înclinăm din $ c partea fracționată, primim $ d
  4. Multiplicați $ b cu $ d și scade valoarea rezultată din $ a
  5. Rezultatul scăderii este rezultatul împărțirii $ a modulo $ b






Operatori de atribuire

Operatorul de atribuire "=" am explicat deja și am folosit oarecum mai devreme. Dar, în plus față de atribuirea obișnuită în PHP, există mai mulți operatori de atribuire mai extinși. Operatorul extins constă din operatorul de atribuire și din operatorul modificator din fața acestuia. De exemplu, în operatorul "+ =", operatorul de modificare este sumarea "+".

Logica instrucțiunii compuse este simplă: operatorul de modificare este aplicat operatorilor, după care rezultatul este atribuit operatorului stâng. De exemplu:

Operatori biți

Operațiile de biți sunt proiectate să modifice valorile biților individuali de variabile. Acești operatori lucrează pe aceleași principii ca operatorii logici obișnuiți, numai rezultatul fiind o valoare a bitului (0 sau 1), și nu TRUE sau FALSE.

TRUE dacă $ a este mai mare sau egală cu $ b

Când utilizați operații de comparație, rețineți că implicit PHP face conversia de tip. De exemplu, dacă o valoare numerică este comparată cu un șir, șirul este convertit la un număr, iar dacă sunt comparate două șiruri care conțin numai cifre, ambele sunt convertite în numere și comparate numeric.

Un alt operator de comparare este operatorul ternar ".". Sensul său este că una din valori este returnată în funcție de condiție. În forma generală, operatorul ternar este scris ca:

[lvalue] = (condiție)? Exprimarea dacă condiția este adevărată. expresie dacă condiția este falsă;

Dacă valoarea b este mai mare de 100, se imprimă "Mai mult de o sută", iar dacă este mai mică - "Mai mică sau egală cu 100";

Operatori de control al erorilor

Când scriptul este executat, toate erorile, avertismentele și comentariile sunt afișate. Puteți dezactiva această opțiune schimbând fișierul PHP INI sau apelând o funcție specială. Dar aceste modificări vor afecta imediat toate scripturile de pe server. Pentru a dezactiva ieșirea de eroare într-o expresie, este utilizat operatorul de eroare "@" (câine).

În următorul exemplu, dacă fișierul "counter.dat" nu este prezent, executarea primei linii va duce la ieșirea de avertizare, iar cea de-a doua nu va face.

Operatorul de suprimare a erorilor este foarte util atunci când apelați funcții care pot arunca o eroare, indiferent de eforturile programatorului. Un exemplu de astfel de funcție este imagecreatefromjpeg (). Această funcție deschide fișierele de format jpeg, dar dacă fișierele provin de la utilizatori, acestea pot fi "rupte", iar pe astfel de fișiere, imagecreatefromjpeg () produce o eroare.

Declarație de execuție

Operatorul ("backquotes") vă permite să executați comenzile sistemului de operare și să obțineți rezultatul executării acestora. Cu toate acestea, pentru majoritatea furnizorilor, acest operator este dezactivat și utilizarea sa nu va produce niciun rezultat - datele returnate vor fi întotdeauna goale.

Când este lansat pe Windows, acest script afișează rezultatele utilitarului ipconfig. Cu toate acestea, dacă PHP rulează în modul sigur, scriptul nu va imprima nimic.

Operatorii de incrementare și reducere

Operatorii de incrementare "++" și decrementul "-" sunt utilizați pentru a schimba valoarea variabilei la "1".

TRUE atunci când operandul este FALSE

Notă: operația de atribuire dă TRUE dacă cesiunea a avut succes și valoarea atribuită nu este FALSE. Prin urmare, următorul cod este executat fără erori, dar nu funcționează corect:

Scriptul va imprima întotdeauna "a doua valoare" pentru orice valoare de $ b, deoarece expresia "$ b = 200" este întotdeauna adevărată. Aceasta este o greșeală foarte obișnuită, care este dificil de prins și de corectat. Prin urmare, atunci când scrieți codul, trebuie să fiți atenți și corecți.

String operatori

Singurul operator de string este operatorul de concatenare. "" (Dot). Am întâlnit deja acest operator înainte. Aici notăm în plus că operatorul "." este destul de inteligent și în sine produce în mod corect cele mai multe turnuri de tip. Acest lucru este foarte convenabil, pentru că puteți cu ușurință o expresie "lipici" mai multe variabile de diferite tipuri.

Array Operatori

$ a + $ b sau $ a și $ b

Combinând două matrice

$ a == $ b sau $ a sau $ b

TRUE dacă matricele au același set de perechi cheie / valoare

TRUE dacă matricele au același set de perechi cheie / valoare, în aceeași ordine și același tip

TRUE dacă matricele au un set diferit de perechi cheie / valoare

TRUE dacă matricele au un set diferit de perechi cheie / valoare, în aceeași ordine și același tip

Operatorul de îmbinare "+" adaugă elementele operandului drept în lista elementelor din operandul stâng. În acest caz, perechile cheie / valoare de potrivire nu sunt suprascrise, dar sunt sărite.

În detaliu, vom considera operatorii de lucru cu matrice în capitolul corespunzător.

Verificați operatorul de verificare

Singurul operator de validare de tip "instanceof" vă permite să verificați dacă variabila dată este o instanță a unei anumite clase.

Când luăm în considerare clasele, vom lua în considerare această instrucțiune în mai multe detalii.







Articole similare

Trimiteți-le prietenilor: