Introduktion til 2D Arrays i PHP

En matrix er en samling af elementer af enhver datatype. Der er mange datatyper i php som streng, heltal, boolsk, matrix, objekt, ressource… osv. En 2D-matrix er en blanding af disse datatyper, hovedsagelig array. Der er tre forskellige typer 2D-arrays i PHP, som er følgende:

  • Numerisk array
  • Associative Array
  • Multidimensionel matrix

Disse tre arrays forklares nedenfor:

1. Det numeriske array: Arrayet med et numerisk indeks.

Syntaks :

array(value1, value2, value3, …);

Eksempel :

$input = array(10, 20, 30, 40, 50);

2. Associative Array : Arrayet med streng eller nummerindeks. Elementerne i denne matrix gemmes i form af et nøgleværdipar.

Syntaks :

array('key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3', …);

Eksempel :

$input = array(0 =>Emma, 1=>Alice, 2=>'John');

3. Det multidimensionelle array : Arrayet for en matrix er den multidimensionelle matrix eller en 2D-matrix eller en indlejret matrix. Dette format er altid et array eller array. Og således kaldet et indlejret array.

Syntaks:

array (
array (elements…),
array (elements…),

)

E- eksempel:

$input = array(
array( "red", "green", "blue" ),
array( "yellow", "black", "white" )
);

I ovenstående eksempel er inputgruppen et eksempel på en 2-dimensionel array. Her indeholder hovedgruppen 2 elementer, hvor hvert element i sig selv er yderligere en matrix med 3 elementer.

Sådan defineres 2D-arrays?

Vi lærte, at i 2D-matrixen er værdielementet en matrix, som yderligere kan have undergrupper. Dimensionerne nævnt i en matrix er i form af rækker og kolonner. Når man tager tabellen i arrayet i tankerne, er det lettere at lære at definere disse arrays. Betydning af, at hvis det er en to-dimensionel matrix, vil der blive anvendt to indekser, ligesom hvis det er et tredimensionelt array, vil der blive anvendt tre indekser og så videre.

Sådan oprettes 2D-arrays?

Da vi ved, hvordan man definerer en 2D-matrix, kan vi oprette den nu. Her er indekset ikke defineret og er som standard et tal, der altid starter med 0.

$input=array(
array( "red", "green", "blue" ),
array( "yellow", "black", "white" )
);

Arrayet kan også defineres i form af det associative array.

(in key =>value form)

Indekset eller nøglen er en streng som farver, frugter og biler. Værdielementerne er i form af en matrix, der indeholder 3 elementer hver.

$input = array(
'colors'=>array (“Red", "Green", "Blue"),
'fruits'=>array ("Apple", "Orange", "Grapes"),
'cars'=>array (“BMW”, ”Skoda”, ”Mercedes”)
);

Sådan får du adgang til elementer i 2D-arrays?

For at få adgang til disse matrixværdier kan du bruge firkantede parenteser. Når du går dybt inde i flere niveauer i 2D-matrixen, vil brugen af ​​sættet med firkantede parenteser øges med hvert niveau.

Eksempel 1

$input = array (
'colors' =>array (“Red", "Green", "Blue"),
'fruits' =>array ("Apple", "Orange", "Grapes"),
'cars' =>array ("Skoda", "BMW", "Mercedes")
);

Husk, at det første sæt firkantede parenteser indeholder nøglen, som i dette tilfælde er farver, frugt, biler. Efterfulgt af endnu et sæt firkantede parenteser for at gå gennem det næste niveau og kan nås med tal som 0, 1, 2.

Så hvis vi vil have adgang til elementet "Druer" i ovenstående array,

echo $input('fruits')(2);

Tilsvarende følgende eksempler

Hvis vi vil have adgang til elementet "Mercedes" i matrixen, så

echo $input('cars')(2);

Hvis vi vil have adgang til elementet "Rødt" i matrixen, derefter

echo $input('colors)(0);

Da indekset altid starter med 0 i en matrix.

Eksempel 2

$input = array (
array (“Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple"),
);

Hvis vi vil have adgang til elementet "Orange" i ovenstående array, bruger vi følgende linje

echo $input(0)(1);
will give “Green”
echo $input(1)(2);
will give “Purple”
echo $input(0)(0);
will give “Red”

Sådan indsættes elementer af 2D-arrays i PHP?

Da vi ved, hvordan man definerer, oprette og få adgang til arrayelementer, lærer vi nu, hvordan man indsætter elementer i matrixen. Der er arrayfunktioner defineret i PHP for at arbejde på multidimensionelle arrays som array_push () -funktionen til at indsætte, array_shift () -funktion til at fjerne og så videre.

$input = array (
'colors'=>array (“Red", "Green", "Blue"),
'fruits'=>array ("Apple", "Orange", "Grapes"),
'cars'=>array ("Skoda", "BMW", "Mercedes")
);

Ved hjælp af funktionen print_r () udskriver vi først matrixen, som den er.

Kode:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
// print the multidimensional array
echo "

 ";
print_r ($ input);
ekko "
 ";

Produktion:

For nu at tilføje et element til frugtsubgruppen, vi vil bruge

array_push() function

Syntaks:

array_push(array, value1, value2…)

Hvor,

  • Arrayet er $ input array
  • value1 er det element, der skal føjes til matrixen
  • værdi2, værdi3, er valgfri

Eksempel 1

Kode:

$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
array_push($input('colors'), "Black");
echo "

 ";
print_r ($ input);
ekko "
 ";

Produktion:

I det nedenstående program fjerner vi bare nøglen "farver" og fandt, at den tilføjer til den sidste af den givne matrix med en 0-knap, som vist i outputbillede.

Eksempel 2

Kode:

// create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
// adding a value to array
array_push($input, "Black");
// print the multidimensional array
echo "

 ";
print_r ($ input);
ekko "
 ";

Produktion:

Eksempel 3

Kode:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//add a color to the array
array_push($input, "Black");
// print the multidimensional array
echo "

 ";
print_r ($ input);
ekko "
 ";

Produktion:

Sådan opdateres elementer i 2D-arrays i PHP?

For at opdatere et element i 2D-arrayet skal du bare hente nøglen fra arrayet og udskifte værdien af ​​den nøgle i en bestemt matrix.

$input('cars')('Mercedes') = 'Duster';

Eksempel 1

Kode:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
//update the Mercedes with Duster
$input("cars")(2) = "Duster";
// print the multidimensional array
echo "

 ";
print_r ($ input);
ekko "
 ";

Produktion:

Eksempel 2

Kode:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//update the Mercedes with Duster
$input(0)(1) = "White";
// print the multidimensional array
echo "

 ";
print_r ($ input);
ekko "
 ";

Produktion:

Sådan slettes elementer i 2D-arrays?

For at slette et element i 2D-arrayet bruger vi array_shift () -funktionen.

array_shift fjerner og returnerer den første elementværdi af arrayen.

Syntaks:

array_shift(array)
where
-array is the $input array

Eksempel 1

Kode:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
//print the removed element
print_r(array_shift($input));

Produktion:

Eksempel 2

Kode:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//print the removed element
print_r(array_shift($input));

Produktion:

To dimensionelle i associativ matrix

I det følgende eksempel har vi oprettet en 2-d matrix, der indeholder oplysninger om bøger som forfatteren af ​​bogen, bogtypen og udgivet i året. Vi lærer også, hvordan man krydser eller løber gennem denne matrix. Når vi løber gennem det flerdimensionale array, bruger vi en indlejret forkensløjfe. Betydning af en foreach-loop inden i en anden foreach-loop. Det samme kan også gøres ved hjælp af for loop.

$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);

Bare udskrivning af ovenstående array uden nogen løkke giver os følgende output:

Kode:

// create multidimensional array
$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);
// print the plain multidimensional array
echo "

 ";
print_r ($ input);
ekko "
";

Produktion:

Nu udskriver vi det multidimensionelle array ved hjælp af en foreach-loop.

Kode:

// create multidimensional array
$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);
//foreach to loop the outer array
foreach($input as $book) (
echo "
";
// foreach to loop the inner array
foreach($book as $key=>$value)
(
echo $key." ". $value. "
";
)
)

Produktion:

Konklusion

Jeg håber, at denne artikel er nyttig til at lære begreberne om emnet på en 2D-matrix i PHP. Dette emne dækker alle de koncepter, der kræves til forståelsen relateret til 2D-arrayet i PHP. Dette emne gøres enklere ved hjælp af eksempler med output-snapshots at henvise til. I henhold til artiklen, hvis alle programmerne praktiseres godt, vil det helt sikkert hjælpe dig med at forstå begreberne let. Jeg håber, at emnet bliver mere informativt for at få mere viden.

Anbefalede artikler

Dette er en guide til 2D Arrays i PHP. Her diskuterer vi de tre forskellige typer af arrayet i php og Sådan opdateres, indsættes og slettes elementer i 2D-arrays med passende eksempler. Du kan også se på den følgende artikel.

  1. For Loop i PHP
  2. Udskiftning af PHP
  3. Stjernemønstre i PHP
  4. PHP-konstanter
  5. Vejledning til forskellige C # Datatyper

Kategori: