Wprowadzenie do tablic 2D w PHP

Tablica to zbiór elementów dowolnego typu danych. Istnieje wiele typów danych w php, takich jak ciąg, liczba całkowita, wartość logiczna, tablica, obiekt, zasób … itd. Tablica 2D to połączenie tych typów danych, głównie tablicy. Istnieją trzy różne typy tablic 2D w PHP, które są następujące:

  • Tablica numeryczna
  • Tablica asocjacyjna
  • Tablica wielowymiarowa

Te trzy tablice wyjaśniono poniżej:

1. Tablica numeryczna: tablica z indeksem numerycznym.

Składnia :

array(value1, value2, value3, …);

Przykład :

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

2. Tablica asocjacyjna: tablica z indeksem ciągów lub liczb. Elementy tej tablicy są przechowywane w postaci pary klucz-wartość.

Składnia :

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

Przykład :

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

3. Tablica wielowymiarowa : Tablica jest tablicą wielowymiarową lub tablicą 2D lub tablicą zagnieżdżoną. Ten format jest zawsze tablicą lub tablicą. I tak zwana tablica zagnieżdżona.

Składnia:

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

)

Przykład:

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

W powyższym przykładzie tablica wejściowa jest przykładem tablicy dwuwymiarowej. Tutaj główna tablica zawiera 2 elementy, przy czym każdy element sam w sobie stanowi tablicę 3 elementów.

Jak zdefiniować tablice 2D?

Dowiedzieliśmy się, że w tablicy 2D elementem wartości jest tablica, która ponadto może mieć pod-tablice. Wymiary wymienione w tablicy mają postać rzędów i kolumn. Mając na uwadze tabelaryczny format tablicy, łatwiej jest nauczyć się definiować te tablice. Oznacza to, że jeśli jest to tablica dwuwymiarowa, zostaną użyte dwa indeksy, podobnie, jeśli jest to tablica trójwymiarowa, zostaną użyte trzy indeksy i tak dalej.

Jak tworzyć tablice 2D?

Ponieważ wiemy, jak zdefiniować tablicę 2D, możemy ją teraz utworzyć. Tutaj indeks nie jest zdefiniowany i domyślnie jest liczbą, która zawsze zaczyna się od 0.

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

Tablicę można również zdefiniować w postaci tablicy asocjacyjnej.

(in key =>value form)

Indeks lub klucz to ciąg znaków, takich jak kolory, owoce i samochody. Elementy wartości mają postać tablicy zawierającej 3 elementy każdy.

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

Jak uzyskać dostęp do elementów tablic 2D?

Aby uzyskać dostęp do tych wartości tablic, możesz użyć nawiasów kwadratowych. W miarę wchodzenia głęboko w kolejne poziomy tablicy 2D użycie zestawu nawiasów kwadratowych będzie rosło z każdym poziomem.

Przykład 1

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

Pamiętaj, że pierwszy zestaw nawiasów kwadratowych zawiera klucz, którym w tym przypadku są kolory, owoce, samochody. Za nim znajduje się jeszcze jeden zestaw nawiasów kwadratowych, aby przejść do następnego poziomu i można uzyskać do niego dostęp za pomocą liczb takich jak 0, 1, 2.

Jeśli więc chcemy uzyskać dostęp do elementu „Winogrona” w powyższej tablicy,

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

Podobnie następujące przykłady

Jeśli chcemy uzyskać dostęp do elementu „Mercedes” w tablicy, to

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

Jeśli chcemy uzyskać dostęp do elementu „Red” w tablicy, to

echo $input('colors)(0);

Ponieważ indeks zawsze zaczyna się od 0 w tablicy.

Przykład nr 2

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

Jeśli chcemy uzyskać dostęp do elementu „Orange” w powyższej tablicy, użyjemy następującego wiersza

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

Jak wstawiać elementy tablic 2D w PHP?

Ponieważ wiemy, jak definiować, tworzyć i uzyskiwać dostęp do elementów tablicy, nauczymy się teraz, jak wstawiać elementy w tablicy. W PHP są zdefiniowane funkcje tablicowe do pracy z wielowymiarowymi tablicami, takie jak funkcja array_push () do wstawienia, funkcja array_shift () do usunięcia itd.

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

Za pomocą funkcji print_r () najpierw wypiszemy tablicę taką, jaka jest.

Kod:

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

Wynik:

Teraz dodamy element do podgrupy owoców, której użyjemy

array_push() function

Składnia:

array_push(array, value1, value2…)

Gdzie,

  • Tablica jest tablicą wejściową $
  • wartość1 to element, który należy dodać do tablicy
  • wartość2, wartość3 są opcjonalne

Przykład 1

Kod:

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

Wynik:

W poniższym programie po prostu usuwamy kluczowe „kolory” i stwierdziliśmy, że dołącza się on do ostatniej z podanych tablic za pomocą klawisza 0, jak pokazano na obrazie wyjściowym.

Przykład nr 2

Kod:

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

Wynik:

Przykład nr 3

Kod:

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

Wynik:

Jak zaktualizować elementy tablic 2D w PHP?

Aby zaktualizować element tablicy 2D, wystarczy pobrać klucz z tablicy i zastąpić wartość tego klucza w określonej tablicy.

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

Przykład 1

Kod:

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

Wynik:

Przykład nr 2

Kod:

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

Wynik:

Jak usunąć elementy tablic 2D?

Aby usunąć element tablicy 2D, użyjemy funkcji array_shift ().

shift_shift usuwa i zwraca wartość pierwszego elementu tablicy.

Składnia:

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

Przykład 1

Kod:

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

Wynik:

Przykład nr 2

Kod:

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

Wynik:

Dwuwymiarowy w tablicy asocjacyjnej

W poniższym przykładzie utworzyliśmy tablicę 2-d zawierającą informacje o książkach, takich jak autor książki, rodzaj książki i opublikowane w roku. Dowiemy się również, jak przechodzić przez tę tablicę. Pętlując przez tablicę wielowymiarową użyjemy zagnieżdżonej pętli foreach. Znaczenie jednej pętli foreach w drugiej pętli foreach. To samo można również zrobić przy użyciu pętli for.

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

Wystarczy wydrukować powyższą tablicę bez pętli, co da nam następujące wyniki:

Kod:

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

Wynik:

Teraz wydrukujemy tablicę wielowymiarową za pomocą pętli foreach.

Kod:

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

Wynik:

Wniosek

Mam nadzieję, że ten artykuł pomoże w poznaniu pojęć tematu na tablicy 2D w PHP. W tym temacie omówiono wszystkie pojęcia potrzebne do zrozumienia związane z tablicą 2D w PHP. Ten temat został uproszczony za pomocą przykładów z migawkami wyjściowymi, do których można się odwoływać. Zgodnie z artykułem, jeśli wszystkie programy są dobrze praktykowane, z pewnością pomoże ci łatwo zrozumieć pojęcia. Mam nadzieję, że temat ten jest bardziej pouczający w celu uzyskania większej wiedzy.

Polecane artykuły

Jest to przewodnik po tablicach 2D w PHP. Tutaj omawiamy trzy różne typy macierzy w php i Jak aktualizować, wstawiać i usuwać elementy tablic 2D z odpowiednimi przykładami. Możesz także spojrzeć na następujący artykuł.

  1. Dla pętli w PHP
  2. Zamiana w PHP
  3. Wzory gwiazd w PHP
  4. Stałe PHP
  5. Przewodnik po różnych typach danych C #