Introduksjon til 2D Arrays i PHP

En matrise er en samling av elementer av en hvilken som helst datatype. Det er mange datatyper i php som streng, heltall, boolsk, matrise, objekt, ressurs… osv. En 2D-matrise er en blanding av disse datatypene hovedsakelig matrisen. Det er tre forskjellige typer 2D-arrays i PHP som er følgende:

  • Numerisk matrise
  • Associative Array
  • Flerdimensjonal matrise

Disse tre matriser er forklart nedenfor:

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

Syntaks :

array(value1, value2, value3, …);

Eksempel :

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

2. Associative Array : Matrisen med streng eller nummerindeks. Elementene i denne matrisen er lagret i form av et nøkkelverdipar.

Syntaks :

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

Eksempel :

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

3. Den flerdimensjonale matrisen : Matrisen for en matrise er den flerdimensjonale matrisen eller en 2D-matrise eller et nestet array. Dette formatet er alltid en matrise eller matrise. Og dermed kalt en nestet matrise.

syntaks:

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

)

Eksempel:

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

I eksemplet ovenfor er inngangsarrayen et eksempel på en todimensjonal matrise. Her inneholder hovedoppstillingen 2 elementer der hvert element i seg selv er videre en gruppe med 3 elementer.

Hvordan definere 2D-matriser?

Vi lærte at i 2D-matrisen er verdielementet en matrise som videre kan ha delarrayer. Dimensjonene nevnt i en matrise er i form av rader og kolonner. Når du har tabellformatet til arrayen i tankene, er det lettere å lære å definere disse arrayene. Som betyr at hvis det er en todimensjonal matrise, vil to indekser bli brukt, på samme måte, hvis det er en tredimensjonal matrise, vil tre indekser bli brukt og så videre.

Hvordan lage 2D-matriser?

Siden vi vet hvordan vi definerer en 2D-matrise, kan vi opprette den nå. Her er ikke indeksen definert og er som standard et tall som alltid starter med 0.

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

Arrayet kan også defineres i form av det assosiative arrayet.

(in key =>value form)

Indeksen eller nøkkelen er en streng som farger, frukt og biler. Verdieelementene er i form av en matrise som inneholder 3 elementer hver.

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

Hvordan få tilgang til elementer i 2D-matriser?

For å få tilgang til disse matriseverdiene, kan du bruke firkantede parenteser. Når du går dypt inne i flere nivåer i 2D-matrisen, vil bruken av settet med firkantede braketter øke med hvert nivå.

Eksempel 1

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

Husk at det første settet med firkantede parenteser inneholder nøkkelen som i dette tilfellet er farger, frukt, biler. Etterfulgt av enda et sett med firkantede parenteser for å krysse nedover til neste nivå og kan nås med tall som 0, 1, 2.

Så hvis vi vil ha tilgang til elementet "Druer" i matrisen ovenfor,

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

Tilsvarende følgende eksempler

Hvis vi ønsker å få tilgang til elementet “Mercedes” i matrisen da

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

Hvis vi ønsker å få tilgang til elementet "Red" i matrisen da

echo $input('colors)(0);

Siden indeksen alltid starter med 0 i en matrise.

Eksempel 2

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

Hvis vi ønsker å få tilgang til elementet "Orange" i tabellen ovenfor, bruker 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”

Hvordan sette inn elementer av 2D-matriser i PHP?

Siden vi vet hvordan vi definerer, oppretter og får tilgang til arrayelementer, lærer vi nå hvordan du setter inn elementer i matrisen. Det er array-funksjoner definert i PHP for å jobbe med flerdimensjonale matriser som array_push () -funksjonen for å sette inn, array_shift () -funksjon for å fjerne og så videre.

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

Ved bruk av funksjonen print_r () skriver vi først ut arrayet som det 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 "
 ";

Produksjon:

Nå for å legge til et element til fruktundersetningen vi vil bruke

array_push() function

syntaks:

array_push(array, value1, value2…)

Hvor,

  • Matrisen er $ input-matrisen
  • value1 er elementet som skal legges til i matrisen
  • verdi2, verdi3, 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 "
 ";

Produksjon:

I programmet under fjerner vi bare nøkkelen “farger”, og fant ut at den føyer seg til den siste av den gitte matrisen med en 0-tast som vist i utgangsbildet.

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 "
 ";

Produksjon:

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 "
 ";

Produksjon:

Hvordan oppdaterer du elementer av 2D-matriser i PHP?

For å oppdatere et element i 2D-matrisen, bare hent nøkkelen fra matrisen og erstatt verdien av den tasten i en bestemt gruppe.

$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 "
 ";

Produksjon:

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 "
 ";

Produksjon:

Hvordan slette elementer av 2D-matriser?

For å slette et element i 2D-arrayen bruker vi array_shift () -funksjonen.

array_shift fjerner og returnerer den første elementverdien til 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));

Produksjon:

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));

Produksjon:

To dimensjonale i Associative Array

I det følgende eksemplet har vi laget en 2-d matrise som inneholder informasjonen om bøker som forfatteren av boken, boktypen og utgitt i året. Vi vil også lære å krysse eller sløyfe gjennom denne matrisen. Looping gjennom det flerdimensjonale array vil vi bruke en nestet foreach loop. Dette betyr en foreach-loop inne i en annen foreach-loop. Det samme kan også gjøres ved bruk for 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 å skrive ut ovenstående matrise uten sløyfe vil gi oss følgende utdata:

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 "
";

Produksjon:

Nå skal vi skrive ut det flerdimensjonale arrayet ved hjelp av 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. "
";
)
)

Produksjon:

Konklusjon

Jeg håper denne artikkelen er nyttig for å lære konseptene om emnet på en 2D-matrise i PHP. Dette emnet dekker alle konseptene som kreves for forståelsen relatert til 2D-arrayen i PHP. Dette emnet er gjort enklere ved hjelp av eksempler med utdata-øyeblikksbilder å referere til. I henhold til artikkelen, hvis alle programmene blir øvd godt, vil det sikkert hjelpe deg å forstå konseptene lett. Jeg håper emnet blir gjort mer informativt for å få mer kunnskap.

Anbefalte artikler

Dette er en guide til 2D Arrays i PHP. Her diskuterer vi de tre forskjellige typene av matrisen i php og How to Update, Insert and Delete Elements of 2D Arrays med passende eksempler. Du kan også se på den følgende artikkelen.

  1. For Loop i PHP
  2. Bytt i PHP
  3. Stjernemønstre i PHP
  4. PHP-konstanter
  5. Veiledning for forskjellige C # datatyper