PHP Array: Asociativ, Multidimensional

Cuprins:

Anonim

Ce este un array PHP?

O matrice PHP este o variabilă care stochează mai multe date conexe într-o singură variabilă.

Gândiți-vă la o gamă ca la o cutie de bomboane de ciocolată cu sloturi în interior.

Caseta reprezintă matricea în sine, în timp ce spațiile care conțin bomboane de ciocolată reprezintă valorile stocate în tablouri.

Diagrama de mai jos ilustrează sintaxa de mai sus.

În acest tutorial, veți învăța-

  • Matrice numerice
  • PHP Associative Array
  • Tablouri multi-dimensionale PHP
  • Operatori PHP Array

Matrice numerice

Tablourile 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 utilizată ori de câte ori dorim să citim sau să atribuim o nouă valoare unui element matrice.

Mai jos este sintaxa pentru crearea matricei numerice în php. Exemplu de matrice

Sau

 value,… );?>

AICI,

  • „$ Variable_name ...” este numele variabilei
  • „[N]” este numărul indexului de acces al elementului
  • „Valoare” este valoarea atribuită elementului matricei.

Să vedem acum un exemplu de matrice numerică.

Să presupunem că avem 5 filme pe care vrem să le stocăm în variabile matrice.

Putem folosi exemplul de mai jos pentru a face acest lucru.

Aici,

Fiecărui film i se dă un număr de index care este folosit pentru a-și prelua sau modifica valoarea. Respectați următorul cod-

Ieșire:

Once upon a time in China Eastern Condors

După cum puteți vedea din exemplele de mai sus, lucrul cu tablouri în PHP atunci când aveți de-a face cu valori multiple de aceeași natură este foarte ușor și flexibil.

Alternativ, variabilele matricei de mai sus pot fi create și folosind următorul cod.

 "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

PHP Associative Array

Matricea asociativă diferă de matricea numerică în sensul că matricile asociative folosesc nume descriptive pentru tastele id.

Mai jos este sintaxa pentru crearea unui tablou asociativ în php.

 value);?>

AICI,

  • „$ Variable_name ...” este numele variabilei
  • „['Key_name']” este numărul indexului de acces al elementului
  • „Valoare” este valoarea atribuită elementului matricei.

Să presupunem că avem un grup de persoane și vrem să atribuim sexul fiecărei persoane în funcție de numele lor.

Putem folosi o matrice asociativă pentru a face acest lucru. Codul de mai jos ne ajută să facem acest lucru.

 "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

Matricea asociativă este, de asemenea, foarte utilă atunci când extrageți date din baza de date.

Numele câmpurilor sunt utilizate ca taste de identificare.

Tablouri multi-dimensionale PHP

Acestea sunt matrice care conțin alte matrice imbricate.

Avantajul matricilor multidimensionale este că ne permit să grupăm împreună date conexe.

Să vedem acum un exemplu practic care implementează o matrice multidimensională php.

Tabelul de mai jos prezintă o listă de filme pe categorii.

Titlul filmului Categorie
Pantera Roz Comedie
John engleză Comedie
Mori greu Acțiune
Cheltuieli Acțiune
Stapanul Inelelor Epic
Romeo si Julieta Romantism
Nu vezi nici un rău, nu auzi nici un rău Comedie

Informațiile de mai sus pot fi reprezentate ca o matrice multidimensională. Codul de mai jos arată implementarea.

 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 același tablou este următoarea

 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 matricea asociativă a categoriilor

Matrice PHP: Operatori

Operator Nume Descriere Cum să o facă Ieșire
x + y Uniune Combină elemente din ambele tablouri
 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.
 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 tipurile de date
 1);$y = array("id" => "1");if($x === $y){echo "true";}else{echo "false";}?>
Fals sau 0
X! = Y, x <> y Nu este egal
 1);$y = array("id" => "1");if($x != $y){echo "true";}else{echo "false";}?>
Fals sau 0
X! == y Nonidentic
 1);$y = array("id" => "1");if($x !== $y){echo "true";}else{echo "false";}?>
Adevărat sau 1

Funcții de matrice PHP

Funcția de numărare

Funcția de numărare este utilizată pentru a număra numărul de elemente pe care le conține o matrice php. Codul de mai jos arată implementarea.

Ieșire:

3

funcția is_array

Funcția is_array este utilizată pentru a determina dacă o variabilă este sau nu o matrice. Să vedem acum un exemplu care implementează funcțiile is_array.

Ieșire:

1

Fel

Această funcție este utilizată pentru a sorta matricele după valori.

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ă noi taste numerice.

Ieșirea acestei funcții este o matrice numerică

 "Female", "John" => "Male", "Mirriam" => "Female");sort($persons);print_r($persons);?>

Ieșire:

Array ( [0] => Female [1] => Female [2] => Male )

ksort

Această funcție este utilizată pentru a sorta matricea utilizând tasta. Următorul exemplu ilustrează utilizarea acestuia.

 "Female", "John" => "Male", "Mirriam" => "Female");ksort($persons);print_r($persons);?>

Ieșire:

Array ( [John] => Male [Mary] => Female [Mirriam] => Female )

asort

Această funcție este utilizată pentru a sorta matricea utilizând valorile. Următorul exemplu ilustrează utilizarea acestuia.

 "Female", "John" => "Male", "Mirriam" => "Female");asort($persons);print_r($persons);?>

Ieșire:

Array ( [Mary] => Female [Mirriam] => Female [John] => Male )

De ce să folosiți tablouri?

  • Conținutul matricelor poate fi întins,
  • Tablourile ajută cu ușurință să grupeze informații legate, cum ar fi detaliile de conectare la server
  • Tablourile ajută la scrierea unui cod mai curat.

rezumat

  • Tablourile sunt variabile speciale cu capacitatea de a stoca valori multiple.
  • Tablourile sunt flexibile și pot fi ușor întinse pentru a se potrivi mai multor valori
  • Tablourile numerice folosesc numere pentru tastele matrice
  • PHP Associative array utilizează nume descriptive pentru chei de matrice
  • Tablourile multidimensionale conțin alte tablouri î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 sau nu o matrice validă.
  • Alte funcții matrice includ sortare, ksort, sortare etc.