Treci la conținutul principal

PHP - Tablouri multidimensionale

Când elementele unui tablou sunt ele însele tablouri, fie unul, fie mai multe, ai un tablou multidimensional.

PHP îți permite să le imbrici pe două, trei, patru, cinci niveluri sau chiar mai mult. În practică însă, majorității oamenilor le este greu să gestioneze ceva ce depășește trei niveluri.


PHP - Tablouri bidimensionale

Un tablou bidimensional este pur și simplu un tablou ale cărui elemente sunt tablouri. Adaugă încă un strat, astfel încât tablourile interioare să conțină la rândul lor tablouri, și obții un tablou tridimensional.

Această formă se potrivește datelor organizate pe rânduri și coloane. Iată cum arată:

Accesarea elementelor unui tablou bidimensional

Pentru a citi o valoare din $cars ai nevoie de doi indici, primul pentru rând și al doilea pentru coloană:

Prompt
Scrieți un script PHP care creează un tablou bidimensional cu mărci de automobile împreună cu numărul de unități în stoc și vândute (Volvo 22/18, BMW 15/13, Saab 5/2, Land Rover 17/15), apoi afișează fiecare rând arătând numele mărcii, valoarea din stoc și valoarea vândută.
Ieșire: script PHP

Definirea unui tablou bidimensional

Fiecare tablou interior este un rând dintr-un tabel, cu marca, numărul de bucăți în stoc și numărul de bucăți vândute:

index.php
<?php
$cars = array (
  array("Volvo", 22, 18),
  array("BMW", 15, 13),
  array("Saab", 5, 2),
  array("Land Rover", 17, 15)
);
?>

PHP - Parcurgerea tablourilor multidimensionale

Pentru a parcurge un tablou multidimensional ai nevoie de o buclă for sau foreach.

Numărul de dimensiuni îți spune câți indici sunt necesari pentru a ajunge la un singur element:

  • Două dimensiuni înseamnă doi indici
  • Trei dimensiuni înseamnă trei indici

Parcurgere cu bucle for imbricate

O buclă for imbricată în alta vizitează fiecare element din $cars. Cea exterioară trece prin rânduri, cea interioară prin coloane, iar fiecare element este accesat tot cu ambii indici:

Prompt
Scrieți un script PHP care creează un tablou bidimensional cu mărci de automobile împreună cu numărul de unități în stoc și vândute (Volvo 22/18, BMW 15/13, Saab 5/2, Land Rover 17/15), apoi folosește bucle for imbricate pentru a afișa numărul fiecărui rând și elementele sale într-o listă HTML neordonată.
Ieșire: script PHP

Parcurgere cu bucle foreach imbricate

Buclele foreach imbricate pot face același lucru fără niciun număr de index. De data aceasta, valorile sunt afișate sub forma unui tabel HTML:

Prompt
Scrieți un script PHP care creează un tablou bidimensional cu mărci de automobile împreună cu numărul de unități în stoc și vândute (Volvo 22/18, BMW 15/13, Saab 5/2, Land Rover 17/15), apoi folosește bucle foreach imbricate pentru a afișa datele într-un tabel HTML cu capetele de coloană Marcă, Stoc și Vândute.
Ieșire: script PHP