Operatorii care lucrează cu matrice, din care se spune puțin

În PHP, 12 tipuri de operatori: prioritate, aritmetică, asignare, biți, comparație, gestionare erori, execuție, incrementare / decrementare, logică, șir, manipulare și verificare de tip. În acest articol, vom analiza în detaliu operatorii care pot fi utilizați atunci când lucrează cu matrice.







Operatori pentru lucrul cu matrice

În documentația oficială, operatorii de lucru cu mănunchiuri sunt descriși mai degrabă pe scurt și, prin urmare, nu este foarte clar unde și cum pot fi utilizate. Să ne uităm la fiecare operator. Toate acestea sunt binare și, prin urmare, sunt proiectate să lucreze cu două tablouri.

Combinarea matricelor

Deci, în primul rând, considerați operatorul (+) pentru combinarea matricelor bazate pe chei. Cheile celei de-a doua matrice vor fi ignorate dacă există elemente cu exact aceleași chei în primul matrice. Toate celelalte elemente din a doua matrice vor fi adăugate la primul:

Atunci când print_r () emite rezultatul, primele trei elemente ale array $ array2 conțin exact aceleași chei ca și în $ array1, astfel încât elementele "d", "e" și "f" să nu cadă într-o matrice comună. Când apelați al doilea print_r (), toate elementele cheie din array $ array1 există deja în array $ array2, deci ele vor fi ignorate.

Această caracteristică poate duce la rezultate neașteptate, dar, în același timp, poate contribui la o optimizare optimă a codului.

Mulți oameni cred că rezultatul adăugării depinde mai degrabă de valorile elementelor din matrice, decât de cheile. Nu e așa. Pentru a combina matricele bazate pe valori, puteți utiliza combinația dintre array_merge () și array_unique ():

Comparând Arrays

Aranjamentul elementelor din cele două tablouri este diferit, dar ele sunt egale. Exemplul următor poate părea ciudat, dar aceste matrice nu sunt egale din cauza valorilor diferite ale cheilor și valorilor:

Pentru a testa matricele pentru inegalitate, ar trebui să folosim operatorii! = Și <>. Principiul de funcționare este exact același:

Identitatea matricelor

Utilizând operatorul ===, puteți verifica identitatea absolută a matricelor:

  • conțin același număr de elemente;
  • cheile și valorile elementelor sunt aceleași în ambele matrice;
  • ordinea elementelor;
  • potrivirea absolută pe tipurile de date pentru valorile elementelor;

Există mai multe caracteristici: dacă cheile unui singur șir de șir de tip, ale celui de-al doilea întreg și ale tuturor valorilor coincid, atunci operatorul returnează adevărat. Dacă utilizați float în loc de întreg, rezultatul este fals.

Ei bine, o verificare inversă se poate face cu ajutorul operatorului (! ==).

Utilizăm alți operatori atunci când lucrăm cu matrice

PHP acționează diferit atunci când alți operatori se aplică la matrice. Acum, să vedem ce pot fi rezultatele.

Eroare fatală: tip operand neașteptat







PHP va arunca eroare fatală atunci când se utilizează următorii operatori în ceea ce privește arrays:

  • operator de biți nu este (
)
  • operatorul aritmetic al schimbării semnelor (-)
  • operatorul de scădere aritmetică (-)
  • operatorul de multiplicare aritmetică (*)
  • operatorul diviziei aritmetice (/)
  • Lucrul cu tipul Array, la fel ca în cazul tipului Integer

    Atunci când utilizați următorii operatori, lucrul cu matricea va fi transformat pentru a lucra cu întregi. O matrice goală (fără elemente) este int (0), nu o int int (1) goală.

    1. Negarea logică (!) Returnează adevărat dacă matricea este goală și falsă dacă există unul sau mai multe elemente în matrice.
    2. În mod bitwise și () va reveni 1 dacă ambii operanzi nu sunt goi și 0 dacă ambii operanzi sunt goi.
    3. Bitwise sau (|) returnează 0 dacă ambii operanzi sunt goi; altfel 1.
    4. Bitul xor (^) va întoarce 0 dacă ambele matrice sunt fie goale, fie pline în același timp. Dacă cel puțin una dintre matrice este goală, 1 se va întoarce.
    5. Transformarea unei matrice în mai multe etape utilizând operatorul (<<) вернёт 1 <
    6. Dreptul la schimbare (>>) produce numai aceeași acțiune, numai în cealaltă direcție.
    7. Restul divizării (%) returnează adevărat dacă ambele matrice nu sunt goale. Dacă cea de-a doua matrice este goală, atunci aceasta va determina eroarea de divizare prin zero ("Division by Zero"). Dacă prima matrice este goală, 0 va fi returnată (rezultatul 0% 1).
    8. Logică și ( și AND) vor reveni false dacă oricare dintre matrice este goală. Dacă ambele nu sunt goale, atunci adevărate.
    9. Boolean sau (|| și OR) va reveni la adevărat dacă ambii operanzi nu sunt goi. În caz contrar, este fals.
    10. Dacă ambele matrice sunt goale sau nu sunt goale, logica (XOR) returnează false. În caz contrar, dacă cel puțin o matrice este goală, este adevărat.

    Lucrul cu tipul Array ca și cu tipul de String

    Când concatenăm două tablouri cu (.), Vom obține următorul rezultat:

    Fără efect

    Utilizarea operatorilor (++ și -) nu are niciun efect.

    Operatorii care lucrează cu matrice, din care se spune puțin

    Prin obținerea de informații imediat prin două canale (vedere și auz), eficiența predării este mult mai mare decât învățarea din cărți. Și temele și testele online vă vor permite să gândiți în mod constant în limba pe care o învățați și să vă verificați imediat cunoștințele!

    Operatorii care lucrează cu matrice, din care se spune puțin

    Operatorii care lucrează cu matrice, din care se spune puțin

    Dacă doriți să învățați HTML mult timp, atunci am o veste bună pentru dvs.!

    Operatorii care lucrează cu matrice, din care se spune puțin

    Dacă ați învățat deja HTML și doriți să treceți mai departe, următorul pas este să învățați tehnologia CSS.

    Operatorii care lucrează cu matrice, din care se spune puțin

    Dacă doriți să înțeleagă conceptele de domeniu si hosting, învață cum să creeze o bază de date, încărca fișiere pe un site web prin intermediul unui server FTP, crea subdomenii, configurați cutiile poștale pentru site-ul și să monitorizeze participarea, acest curs este conceput special pentru tine!







    Articole similare

    Trimiteți-le prietenilor: