O matrice nu trebuie să fie o listă simplă de chei și valori simple. Fiecare element al unei matrice poate conține o altă matrice ca valoare, care la rândul său poate conține și o matrice și așa mai departe. În acest fel, puteți crea matrice bidimensionale și tridimensionale.
Dispozitive bidimensionale
O matrice bidimensională este o matrice care stochează alte matrice ca valori. Luați în considerare crearea unei matrice bidimensionale utilizând constructorul array ():
Matricea $ flori conține trei matrice. După cum vă amintiți, pentru a accesa elementele dintr-o matrice unidimensională, trebuie să specificați numele matricei și cheii. Același lucru este valabil și pentru matricele bidimensionale, cu o singură excepție: fiecare element are două chei: primul pentru selectarea unui rând, al doilea pentru selectarea unei coloane.
Pentru a afișa elemente ale acestei matrice, puteți atribui manual accesul fiecăruia, dar este mai bine să utilizați bucle imbricate:
În loc de numerele coloanelor (indexurile atribuite în mod implicit), le puteți da cheile de care aveți nevoie. În acest scop, se folosesc matrice asociative. Următoarea matrice va stoca aceleași date, dar cu tastele pentru denumirea coloanelor cu informații:
Cheile creează o comoditate suplimentară pentru lucrul cu o matrice în acele cazuri când trebuie să obțineți una dintre valori. Datele solicitate pot fi găsite cu ușurință prin trimiterea la celula corectă, utilizând nume de rând și coloane semnificative. Cu toate acestea, pierdem capacitatea de a traversa secvențial o matrice folosind buclă for.
Putem folosi numai matricile pentru copii cu bucla pentru. Deoarece, la rândul lor, sunt asociative, atunci trebuie să utilizați bucla foreach pentru a enumera elementele lor. sau iterați manual:
Nu este necesar să folosiți constructorul array () pentru a crea o matrice bidimensională. puteți utiliza o sintaxă scurtă - paranteze pătrate:
Dispozitive tridimensionale
Nu este necesar să se limiteze doar la două dimensiuni: la fel cum elementele matricei pot conține matrice, aceste matrice pot, la rândul lor, să conțină noi matrice.
O matrice tridimensională caracterizează lățimea, înălțimea și adâncimea. Dacă reprezintă o matrice bidimensională ca tabelă, atunci 3D adaugă straturi în acest tabel. Fiecare element al unui astfel de matrice se va referi la un strat, un rând și o coloană.
Dacă modificați cu ușurință matricea noastră cu culori, atunci o puteți modifica într-una 3D. Codul de mai jos arată că o matrice tridimensională este o matrice care conține o matrice de matrice:
Deoarece această matrice conține numai indici numerici, putem folosi bucle imbricate pentru a le afișa:
Cu această temă aspect: