Matrice PHP: asociativă, multidimensională
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 reprezintă valorile stocate în matrice.
Diagrama de mai jos ilustrează sintaxa de mai sus.
Matrice numerice
Matricele numerice folosesc numărul ca chei de acces.
O cheie de acces este o referință la un slot de memorie dintr-o variabilă matrice.
Cheia de acces este folosită ori de câte ori dorim să citim sau să atribuim o nouă valoare unui element de matrice.
Mai jos este sintaxa pentru crearea matricei numerice î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ă ne uităm acum la 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 prelua sau modifica valoarea acestuia. Respectaț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
Matricea asociativă diferă de matricea numerică în sensul că tablourile asociative folosesc nume descriptive pentru cheile id.
Mai jos este sintaxa pentru crearea unui tablou asociativ în php.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
AICI,
- „$variable_name...” este numele variabilei
- „['key_name']” este numărul de index de acces al elementului
- „valoare” este valoarea atribuită elementului matrice.
Să presupunem că avem un grup de persoane și dorim să atribuim genul fiecărei persoane în raport cu numele lor.
Putem folosi o matrice 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
Matricele asociative sunt, de asemenea, foarte utile la preluarea 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ă ne uităm acum la un exemplu practic care implementează o matrice 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ă: matricea numerică a filmelor a fost imbricată în cadrul matricei asociative categorii
Matrice PHP: Operatori
OperaTdR | Nume | Description | 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 dacă sunt egale și returnează adevărat dacă da. |
<?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 |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Fals sau 0 | |
X !== y | Nu identice |
<?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 de numărare este folosită pentru a număra numărul de elemente pe care le conține o matrice php. Codul de mai jos arată 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 o matrice sau nu. Să ne uităm acum la un exemplu care implementează funcțiile is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
ieșire:
1
Sortează
Această funcție este folosită pentru a sorta matrice după valori.
Dacă valorile sunt alfanumerice, le sortează în ordine alfabetică.
Dacă valorile sunt numerice, le sortează în ordine crescătoare.
Îndepărtează cheile de acces existente și adaugă chei numerice noi.
Ieșirea acestei funcții este o matrice 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
Acest funcţie este folosit pentru a sorta matricea folosind valorile. Următorul exemplu ilustrează utilizarea acestuia.
<?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 Arrays poate fi extins,
- Matricele ajută cu ușurință să grupeze informațiile legate, cum ar fi detaliile de conectare la server
- Matricele ajută la scrierea unui cod mai curat.
Rezumat
- Matricele sunt variabile speciale cu capacitatea de a stoca mai multe valori.
- Matricele sunt flexibile și pot fi ușor extinse pentru a găzdui mai multe valori
- Matricele numerice folosesc numere pentru cheile matricei
- Matricea asociativă PHP utilizează nume descriptive pentru cheile matricei
- Matricele multidimensionale conțin alte matrice în interiorul lor.
- Funcția de numărare este utilizată pentru a obține numărul de articole care au fost stocate într-o matrice
- Funcția is_array este utilizată pentru a determina dacă o variabilă este un tablou valid sau nu.
- Alte funcții ale matricei includ sortare, ksort, sortare etc.