Matrice PHP: asociativă, multidimensională
⚡ Rezumat inteligent
Tablourile PHP stochează multe valori corelate într-o singură variabilă, facilitând gruparea și procesarea datelor corelate. Acest ghid prezintă tablourile numerice, asociative și multidimensionale, operatorii de comparare a tablourilor și funcțiile de bază, cum ar fi numărarea, sortarea, ksort și asortarea.

Ce este o matrice PHP?
O matrice PHP este o variabilă care stochează mai mult de o bucată de date asociate într-o singură variabilă.
Gândiți-vă la o serie ca la o cutie de ciocolată cu sloturi înăuntru.
Caseta reprezintă matricea în sine, în timp ce spațiile care conțin bomboane de ciocolată reprezintă valorile stocate în matrice.
Exemplele de mai jos ilustrează cum funcționează acest lucru.
Matrice numerice
Tablourile numerice folosesc numerele ca taste de acces.
O cheie de acces este o referință la un slot de memorie dintr-o variabilă matrice.
Cheia de acces este utilizată ori de câte ori dorim să citim sau să atribuim o nouă valoare unui element al unui tablou.
Mai jos este sintaxa pentru crearea unui array numeric în PHP.
Exemplu de matrice
<?php $variable_name[n] = value; ?>
Or
<?php
$variable_name = array(n => value, ...);
?>
AICI,
- „$variable_name...” este numele variabilei
- „[n]” este numărul indexului de acces al elementului
- „valoare” este valoarea atribuită elementului matrice.
Să analizăm acum un exemplu de matrice numerică.
Să presupunem că avem 5 filme pe care dorim să le stocăm în variabile matrice.
Putem folosi exemplul prezentat mai jos pentru a face asta.
<?php $movie[0] = 'Shaolin Monk'; $movie[1] = 'Drunken Master'; $movie[2] = 'American Ninja'; $movie[3] = 'Once upon a time in China'; $movie[4] = 'Replacement Killers'; ?>
Aici,
Fiecărui film i se atribuie un număr de index care este utilizat pentru a recupera sau modifica valoarea sa. Observați următorul cod.
<?php $movie[0]="Shaolin Monk"; $movie[1]="Drunken Master"; $movie[2]="American Ninja"; $movie[3]="Once upon a time in China"; $movie[4]="Replacement Killers"; echo $movie[3]; $movie[3] = " Eastern Condors"; echo $movie[3]; ?>
ieșire:
Once upon a time in China Eastern Condors
După cum puteți vedea din exemplele de mai sus, lucrul cu matrice în PHP atunci când aveți de-a face cu mai multe valori de aceeași natură este foarte ușor și flexibil.
Alternativ, variabilele matrice de mai sus pot fi create și folosind următorul cod.
<?php $movie = array(0 => "Shaolin Monk", 1 => "Drunken Master", 2 => "American Ninja", 3 => "Once upon a time in China", 4 => "Replacement Killers" ); echo $movie[4]; ?>
ieșire:
Replacement Killers
Matrice asociativă PHP
Tablourile asociative diferă de tablourile numerice prin faptul că tablourile asociative folosesc nume descriptive pentru cheile de identificare.
Mai jos este sintaxa pentru crearea unui array asociativ în PHP.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
AICI,
- „$variable_name...” este numele variabilei
- „['key_name']” este cheia de acces a elementului
- „valoare” este valoarea atribuită elementului matrice.
Să presupunem că avem un grup de persoane și vrem să atribuim sexul fiecăreia în funcție de numele lor.
Putem folosi un array asociativ pentru a face asta. Codul de mai jos ne ajută să facem asta.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
AICI,
ieșire:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Tablourile asociative sunt, de asemenea, foarte utile la recuperarea datelor din baza de date.
Numele câmpurilor sunt folosite ca chei de identificare.
PHP tablouri multidimensionale
Acestea sunt matrice care conțin alte matrice imbricate.
Avantajul matricelor multidimensionale este că ne permit să grupăm datele asociate împreună.
Să analizăm acum un exemplu practic care implementează un array multidimensional PHP.
Tabelul de mai jos arată o listă de filme pe categorii.
| Titlul filmului | Categorii |
|---|---|
| Pantera Roz | Comedie |
| John English | Comedie |
| Muri luptând până la ultimă suflare | Acțiune |
| Expendables | Acțiune |
| Stapanul Inelelor | Epic |
| Romeo şi Julieta | Romantism |
| Nu vezi răul nu auzi răul | Comedie |
Informațiile de mai sus pot fi reprezentate ca o matrice multidimensională. Codul de mai jos arată implementarea.
<?php $movies = array( "comedy" => array("Pink Panther", "John English", "See no evil hear no evil"), "action" => array("Die Hard", "Expendables"), "epic" => array("The Lord of the rings"), "Romance" => array("Romeo and Juliet") ); print_r($movies); ?>
AICI,
ieșire:
Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )
O altă modalitate de a defini aceeași matrice este următoarea.
<?php $film = array( "comedy" => array( 0 => "Pink Panther", 1 => "John English", 2 => "See no evil hear no evil" ), "action" => array ( 0 => "Die Hard", 1 => "Expendables" ), "epic" => array ( 0 => "The Lord of the rings" ), "Romance" => array ( 0 => "Romeo and Juliet" ) ); echo $film["comedy"][0]; ?>
ieșire:
Pink Panther
Notă: tabloul numeric „movies” a fost imbricat în tabloul asociativ „categories”.
Matrice PHP: Operatori
| OperaTdR | Nume | Descriere | Cum se face | producție |
|---|---|---|---|---|
| x+y | Uniune | Combină elemente din ambele matrice |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Matrice([id] => 1 [valoare] => 10) |
| x == y | Egal | Compară două tablouri și returnează valoarea „true” dacă sunt egale |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Adevărat sau 1 |
| x === y | Identic | Compară atât valorile cât și tipuri de date |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Fals sau 0 |
| x != y, x <> y | Nu este egal | Returnează true dacă cele două matrice nu sunt egale |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Fals sau 0 |
| x !== y | Nu identice | Returnează true dacă cele două matrice nu sunt identice ca valoare sau tip. |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Adevărat sau 1 |
Funcții PHP Array
Funcția de numărare
Funcția count este utilizată pentru a număra elementele pe care le conține un array PHP. Codul de mai jos prezintă implementarea.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
ieșire:
3
funcția is_array
Funcția is_array este utilizată pentru a determina dacă o variabilă este sau nu un tablou. Să analizăm acum un exemplu care implementează funcția is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
ieșire:
1
Sortează
Această funcție este utilizată pentru a sorta tablourile după valorile lor.
Dacă valorile sunt alfanumerice, le sortează în ordine alfabetică.
Dacă valorile sunt numerice, le sortează în ordine crescătoare.
Elimină tastele de acces existente și adaugă taste numerice noi.
Ieșirea acestei funcții este un tablou numeric.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
ieșire:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Această funcție este folosită pentru a sorta matricea folosind cheia. Următorul exemplu ilustrează utilizarea acestuia.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
ieșire:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
sortiment
Aceasta funcţie este folosit pentru a sorta matricea folosind valorile în timp ce keeping tastele. Următorul exemplu ilustrează utilizarea sa.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
ieșire:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
De ce să folosiți matrice?
- Conținutul tablourilor poate fi extins pentru a conține mai multe valori.
- Tablourile ajută cu ușurință la gruparea informațiilor conexe, cum ar fi detaliile de conectare la server.
- Matricele ajută la scrierea unui cod mai curat.



