Inleiding tot 2D-arrays in PHP

Een array is een verzameling elementen van elk gegevenstype. Er zijn veel gegevenstypen in php zoals string, integer, boolean, array, object, resource … enz. Een 2D-array is een combinatie van deze gegevenstypen, voornamelijk de array. Er zijn drie verschillende soorten 2D-arrays in PHP die de volgende zijn:

  • Numerieke array
  • Associatieve Array
  • Multidimensionale array

Deze drie arrays worden hieronder uitgelegd:

1. De numerieke array: de array met een numerieke index.

Syntaxis :

array(value1, value2, value3, …);

Voorbeeld :

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

2. De associatieve array : de array met tekenreeks of nummerindex. De elementen van deze array worden opgeslagen in de vorm van een sleutel / waarde-paar.

Syntaxis :

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

Voorbeeld :

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

3. De multidimensionale array : de array van een array is de multidimensionale array of een 2D-array of een geneste array. Dit formaat is altijd een array of array. En dus een geneste array genoemd.

Syntaxis:

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

)

Voorbeeld:

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

In het bovenstaande voorbeeld is de invoerarray een voorbeeld van een tweedimensionale array. Hier bevat de hoofdarray 2 elementen, waarbij elk element zelf verder een array van 3 elementen is.

Hoe 2D-arrays te definiëren?

We hebben geleerd dat in de 2D-array het waarde-element een array is die verder subarrays kan hebben. De in een array genoemde dimensies hebben de vorm van rijen en kolommen. Met het tabelformaat van de array in gedachten, is het gemakkelijker om te leren hoe deze arrays te definiëren. Dit betekent dat als het een tweedimensionale array is, er twee indices worden gebruikt. Als het een driedimensionale array is, worden er drie indices gebruikt, enzovoort.

Hoe 2D-arrays maken?

Omdat we weten hoe we een 2D-array moeten definiëren, kunnen we deze nu maken. Hier is de index niet gedefinieerd en is standaard een nummer dat altijd met 0 begint.

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

De array kan ook worden gedefinieerd in de vorm van de associatieve array.

(in key =>value form)

De index of de sleutel is een reeks zoals kleuren, fruit en auto's. De waarde-elementen hebben de vorm van een array met elk 3 elementen.

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

Hoe toegang te krijgen tot elementen van 2D-arrays?

Om toegang te krijgen tot deze matrixwaarden, kunt u vierkante haken gebruiken. Naarmate je dieper in meer niveaus van de 2D-reeks gaat, zal het gebruik van de set vierkante haken met elk niveau toenemen.

Voorbeeld 1

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

Vergeet niet dat de eerste set vierkante haakjes de sleutel bevat die in dit geval kleuren, fruit, auto's zijn. Gevolgd door nog een set vierkante haken om naar het volgende niveau te gaan en toegankelijk te zijn met getallen als 0, 1, 2.

Dus als we toegang willen krijgen tot het element "Druiven" in de bovenstaande array,

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

Evenzo de volgende voorbeelden

Als we dan het element 'Mercedes' in de array willen gebruiken

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

Als we dan toegang willen krijgen tot het element "Rood" in de array

echo $input('colors)(0);

Omdat de index altijd begint met 0 in een array.

Voorbeeld 2

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

Als we toegang willen krijgen tot het element "Orange" in de bovenstaande array, zullen we de volgende regel gebruiken

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

Hoe elementen van 2D-arrays in PHP in te voegen?

Omdat we weten hoe we arrayelementen moeten definiëren, maken en openen, leren we nu hoe we elementen in de array kunnen invoegen. Er zijn matrixfuncties gedefinieerd in PHP om te werken op multidimensionale arrays zoals de array_push () functie om in te voegen, array_shift () functie om te verwijderen, enzovoort.

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

Met de functie print_r () zullen we de array eerst afdrukken zoals deze is.

Code:

//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);
echo "
 ";

Output:

Om nu een element toe te voegen aan fruitsubarray zullen we gebruiken

array_push() function

Syntaxis:

array_push(array, value1, value2…)

Waar,

  • De array is de $ input array
  • waarde1 is het element dat aan de array moet worden toegevoegd
  • waarde2, waarde3, zijn optioneel

Voorbeeld 1

Code:

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

Output:

In het onderstaande programma verwijderen we gewoon de sleutel "kleuren" en kwamen we erachter dat deze aan de laatste van de gegeven array wordt toegevoegd met een 0-sleutel, zoals weergegeven in de uitvoerafbeelding.

Voorbeeld 2

Code:

// 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);
echo "
 ";

Output:

Voorbeeld 3

Code:

//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);
echo "
 ";

Output:

Hoe elementen van 2D-arrays in PHP bij te werken?

Om een ​​element van de 2D-array bij te werken, haalt u de sleutel uit de array en vervangt u de waarde van die sleutel in een bepaalde array.

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

Voorbeeld 1

Code:

//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);
echo "
 ";

Output:

Voorbeeld 2

Code:

//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);
echo "
 ";

Output:

Hoe elementen van 2D-arrays te verwijderen?

Om een ​​element van de 2D-array te verwijderen, gebruiken we de functie array_shift ().

array_shift verwijdert en retourneert de eerste elementwaarde van de array.

Syntaxis:

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

Voorbeeld 1

Code:

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

Output:

Voorbeeld 2

Code:

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

Output:

Tweedimensionaal in associatieve array

In het volgende voorbeeld hebben we een 2D-array gemaakt met de informatie van boeken zoals de auteur van het boek, het type boek en gepubliceerd in het jaar. We zullen ook leren hoe we door deze array kunnen lopen of doorlopen. Lus door de multidimensionale array gebruiken we een geneste foreach-lus. Dit betekent één foreach-lus in een andere foreach-lus. Hetzelfde kan ook worden gedaan met behulp van voor lus.

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

Als u de bovenstaande array zonder een lus afdrukt, krijgt u de volgende uitvoer:

Code:

// 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);
echo "
";

Output:

Nu zullen we de multidimensionale array afdrukken met behulp van een foreach-lus.

Code:

// 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. "
";
)
)

Output:

Conclusie

Ik hoop dat dit artikel nuttig is om de concepten van het onderwerp over een 2D-array in PHP te leren. Dit onderwerp behandelt alle concepten die nodig zijn voor het begrip met betrekking tot de 2D-array in PHP. Dit onderwerp is eenvoudiger gemaakt aan de hand van voorbeelden met de output snapshots waarnaar wordt verwezen. Volgens het artikel zal, als alle programma's goed worden geoefend, je zeker helpen de concepten gemakkelijk te begrijpen. Ik hoop dat het onderwerp informatiever is gemaakt om meer kennis te vergaren.

Aanbevolen artikelen

Dit is een gids voor 2D-arrays in PHP. Hier bespreken we de drie verschillende typen van de array in php en hoe elementen van 2D-arrays bijwerken, invoegen en verwijderen met geschikte voorbeelden. U kunt ook het volgende artikel bekijken.

  1. Voor lus in PHP
  2. Ruilen in PHP
  3. Sterrenpatronen in PHP
  4. PHP Constanten
  5. Gids voor verschillende C # gegevenstypen