Matricele sunt un subiect de temut pentru mulți programatori și aproape la fel de frustrant ca un caracter final care lipsește. Pentru cei neinițiați, o matrice este o metodă de stocare a mai multor valori sub un nume de variabilă ca o listă de informații conectată. Acest lucru ne permite să păstrăm împreună valorile conexe și să stabilim relații între date. De obicei, informațiile matricei sunt stocate în unul dintre cele două formate diferite, fie numerice, fie asociative. În format numeric, fiecare element din listă (sau fiecare informație) este găsit prin referire la locul său în linie. În funcție de limbajul dvs. de programare, numărarea poate începe de la 1 sau 0. În cazul nostru, în mod implicit, PHP începe cu 0. Pentru a arunca o privire asupra unei matrice, ar trebui să urmăm cele mai bune practici și să declarăm variabila noastră ca fiind una goală pentru incepe. Putem face acest lucru cu:
$ourFirstArray = array();
Acum sistemul va ști că intenționăm să folosim această variabilă ca matrice. Dacă încercăm să folosim echo sau print pentru matricea noastră, vom vedea următoarea ieșire:
Array
Pentru a vedea conținutul unei matrice, trebuie să ne referim la o poziție reală sau să vedem întregul conținut. Deoarece nu am adăugat nimic încă, vom merge mai departe deocamdată.
Aici vom crea o nouă matrice, dar una în care știm deja care vrem să fie primele câteva valori. Vom configura distribuția lui Family Guy ca o matrice numită theGriffins.
$theGriffins = array("Peter","Lois","Stewie","Chris","Brian");
Acum putem arunca o privire la unele rezultate. Dacă am vrea să vedem ce conține primul element al matricei, am putea:
echo $theGriffins[0];
care ne-ar oferi:
Peter
Sau, pentru a arunca o privire rapidă asupra întregii matrice, putem folosi funcția încorporată print_r, care înseamnă tipăriți recursiv și ne va afișa fiecare valoare într-o manieră preformatată:
print_r($theGriffins); Array( 0: Peter 1: Lois 2: Stewie 3: Chris 4: Brian )
Acum, ceva pare în neregulă. A lipsit cineva? Da, Meg. Să o adăugăm la matricea noastră. Pentru a adăuga un element nou la sfârșitul unei matrice, nu trebuie să ne facem griji cu privire la cât de lung este sau ce număr să-i atribuim noului element. Cu PHP putem pur și simplu adăuga [] la numele variabilei noastre, adăugând Meg ca element nou la sfârșitul matricei noastre:
$theGriffins[]='Meg';
Acum, dacă rulăm print_r, vom vedea:
Array( 0: Peter 1: Lois 2: Stewie 3: Chris 4: Brian 5: Meg )
Poate că vrem să facem lucrurile puțin mai formale și să folosim prenume complete. În acest caz, trebuie să actualizăm câteva lucruri. În primul rând, ar trebui să-l schimbăm pe Stewie în Stewart. Deoarece avem referința chiar deasupra acestui text, putem vedea că Stewie se află la poziția 2 (articolul 3) în matrice. Deci, haideți să setăm acea poziție cu numele său complet:
$theGriffins[2]='Stewart';
Imprimarea dvs. $theGriffins[2]; ar trebui să dea acum Stewart în loc de Stewie! Prin plasarea numărului de poziție al articolului în parantezele variabilei noastre a matricei, specificăm că dorim să vedem informațiile care sunt stocate în acel loc. Poate ați uitat unde în matrice ați stocat o anumită valoare. Majoritatea limbilor care acceptă matrice vor avea deja funcții încorporate pentru sarcini comune, cum ar fi aceasta. În PHP, putem folosi funcția array_search. În acest caz, trecem de valorile ca o pereche „ac într-un car de fân”, dând funcției mai întâi ceea ce căutăm, apoi matricea în care sperăm să o găsim:
echo array_search("Meg", $theGriffins);
ne va oferi:
4
Rețineți că potrivirile apropiate vor fi ignorate. Interpretul nu știe că Pete și Peter, sau Meg și Megan reprezintă același nume comun. Pentru aceste tipuri de căutări, am avea nevoie de algoritmi mult mai complecși.
Pentru a actualiza valoarea Meg la Megan, vom combina tehnicile noastre:
$location = array_search("Meg", $theGriffins); $theGriffins[$location] = 'Megan';
Am putea, de dragul conciziei, să profităm de prima natură interioară a interpretului PHP și să combinăm declarațiile noastre:
$theGriffins[array_search("Meg", $theGriffins)]='Megan';
Acum că ne simțim puțin mai confortabil cu matricele numerotate, vom arunca o privire la asociativ. În această abordare, oferim referința în care dorim să fie numită o poziție din matrice. De exemplu, poate că vrem să oferim scurte descrieri ale fiecărui personaj, astfel încât cineva care nu este familiarizat cu aceasta să-l recunoască mai bine. Pentru a distinge detaliile după caracter, le vom folosi numele în loc de numere. Matricea noastră inițială de înainte, cu nume și descrieri, ar putea arăta după cum urmează:
$theGriffins = array("Peter"=>"The fat guy", "Lois=>"The red head", "Stewie"=>"The baby", "Chris"=>"The awkward boy", "Brian"=>"The Dog");
Acum că matricea noastră este asociativă, transmitem informația de identificare pe care o căutăm. Acest lucru se face ca o pereche cheie și valoare, unde cheia este cuvântul asociativ la care poți face referire, iar valorile sunt încă ceea ce este stocat. Veți observa că am folosit => în declarația noastră de data aceasta, care identifică ceea ce vine înainte de => ca cheie și ceea ce urmează ca valoare. Deci, pentru a afla ce știm despre Lois:
print $theGriffins['lois'];
ne dă:
The red head
De notat că trebuie să punem cheia asociativă între ghilimele (simple sau duble) când folosim print sau echo.
Sursa: Michael Mendez, The Missing Link – An Introduction to Web Development and Programming (CC BY-NC-SA 3.0 License), Published by Open SUNY Textbooks, Milne Library (IITG PI), State University of New York at Geneseo. Traducere de Nicolae Sfetcu
Lasă un răspuns