Heim  >  Artikel  >  Backend-Entwicklung  >  Mehrdimensionales Array in PHP

Mehrdimensionales Array in PHP

WBOY
WBOYOriginal
2024-08-29 12:44:25364Durchsuche

Ein mehrdimensionales Array ist nichts Außergewöhnliches, sondern ein Array innerhalb eines anderen Arrays. Jeder Index des Arrays enthält ein anderes Array anstelle eines einzelnen Elements, das wiederum auf ein anderes Array oder bestimmte Elemente verweisen kann. Auf diese Unterarrays innerhalb des Arrays wird über mehrere Dimensionen zugegriffen, beginnend beim äußeren Array und in Richtung des inneren Arrays. Dimensionen sind im Grunde die Indizes, die erforderlich sind, um auf den Wert an einer bestimmten Position in einem Array zuzugreifen oder ihn zu speichern. Mehrdimensionale Arrays in PHP werden häufig in Echtzeitanwendungen verwendet, aber es ist ziemlich schwierig, sie im Vergleich zu eindimensionalen Arrays zu behandeln, da sie mehrere Klammern haben und etwas komplex sind, um mit ihnen zu arbeiten, entweder auf Werte zuzugreifen oder sie zu speichern Für einen bestimmten Index ist die Verwendung von Schleifen erforderlich.

WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax

Unten ist die allgemeine Syntax mehrdimensionaler Arrays in PHP aufgeführt. Obwohl mehrdimensionale Arrays in PHP 2D, 3D, 4D usw. sein können. Je mehrdimensionales Array es ist, desto schwieriger ist es, es zu verwalten und desto mehr Klammern werden vor dem Array-Namen hinzugefügt.

Syntax für 2D-Array:

array(
array(element1, element2, elements3, ...),
array(element1, element2, elements3, ...),
… so on
)

Syntax für 3D-Array:

array(
array (
array(element1, element2, elements3, ...),
array(element1, element2, elements3, ...),
… so on
),
array (
array(element1, element2, elements3, ...),
array(element1, element2, elements3, ...),
… so on
),
… so on
)

Wie deklariere ich mehrdimensionale Arrays in PHP?

PHP ermöglicht, dass seine mehrdimensionalen Arrays entweder indiziert oder assoziativ sind. Assoziative Arrays sind im Vergleich zu indizierten Arrays interaktiver. PHP ermöglicht eine sehr einfache Möglichkeit, ein mehrdimensionales Array in PHP mit dem Schlüsselwort „array“ zu deklarieren. Um ein Array innerhalb eines anderen Arrays zu deklarieren, müssen wir das Schlüsselwort „array“ und dann die Elemente dieses Arrays hinzufügen.

1. Deklaration eines 2D-Arrays in PHP

Code:

<?php
$employee_details = array();
$employee_details[ ] = array("Ram", "Agra", "Sr. Engineer");
$employee_details[ ] = array("Raghav", "Delhi", "Jr. Engineer");
?>

ODER

<?php
$employee_details = array(
array("Ram", "Agra", "Sr. Engineer"),
array("Raghav", "Delhi", "Jr. Engineer"),
);
?>

Die oben gezeigte zweite Methode wird häufig verwendet, da sie recht einfach zu verstehen ist.

2. Deklaration eines 3D-Arrays in PHP

Code:

<?php
/* Simplest way to declare a  3D array in Php in an indexed manner */
$item_details  = array(
array(
array ("item1", "abc", 100)),
array ("item2", "bcd", 200)),
array ("item3", "def", 300)),
),
array(
array ("item4", "abc4", 100)),
array ("item5", "bcd5", 200)),
array ("item6", "def6", 300)),
),
);
?>

Bei der obigen Deklaration handelt es sich lediglich um ein indiziertes 3D-Array, da für die Zuordnung keine Schlüssel-Wert-Paare verwendet werden.

Wie initialisiere ich ein mehrdimensionales Array in PHP?

Das Initialisieren eines mehrdimensionalen Arrays bedeutet das Zuweisen der Werte oder Elemente an der bestimmten Position oder den Indizes eines Arrays. Das Initialisieren eines mehrdimensionalen Arrays in PHP ist genauso einfach wie das Deklarieren. Das Einzige, was Sie beachten sollten, ist die Verwendung von geschweiften Klammern beim Initialisieren der Subarrays. Beim Initialisieren der Werte in einem mehrdimensionalen Array kann das Hauptarray indiziert oder assoziativ sein. Im unten angegebenen Beispiel ist das Hauptarray das assoziative mit den Schlüsseln wie Levis, Lee, Denizen usw.

1. 2D-Array in PHP initialisieren

Code:

<?php
/* It is a multidimensional 2D array of clothes in which the main array holds another arrays of having 2 elements like cloth type and quantity */
/* It is associative kind of array having the data in the form of key => value pairs. So the data at the inner subarray is represented as associated by the key element.*/
$clothes = array(
"Levis" =>     array(
"Cloth_type" => "jeans",
"Quantity" => 20
),
"Pepe" =>        array(
"Cloth_type" => "jeans",
"Quantity" => 100
),
"Lee" =>      array(
"Cloth_type" => "tshirts",
"Quantity" => 50
),
"Denizen" =>   array(
"Cloth_type" => "tops",
"Quantity" => 80
)
);
?>

2. 3D-Array in PHP initialisieren

Die Initialisierung von 3D-Arrays ist die gleiche wie bei 2D-Arrays, der einzige Unterschied zwischen den beiden sind die Abmessungen. Das 3D-Array benötigt zum Initialisieren einen Index mehr als ein 2D-Array. Je größer die Dimensionen des Arrays werden, desto größer wird auch die Anzahl der zu initialisierenden Indizes. Im folgenden Beispiel ist das Hauptarray ein einfaches indiziertes Array mit Unterarrays. Wir können das Hauptarray im folgenden Beispiel auch assoziativ gestalten, wie wir es in einem 2D-Array getan haben, mit dem Schlüssel als Markennamen, was es für den Kunden einfacher macht, es zu verstehen, während er darauf zugreift und es speichert.

Code:

<?php
/* In this there is a 3D array of clothes in which each element have an array of cloth type, brand and quantity of that particular brand. Each brand has different quantity and cloth type.*/
$clothes = array(
array(
array(
"Brand" => "Levis",
"Cloth_type" => "jeans",
"Quantity" => 20
),
array(
"Brand" => "Levis",
"Cloth_type" => "Tops",
"Quantity" => 100
)
),
array(
array(
"Brand" => "Lee",
"Cloth_type" => "jeans",
"Quantity" => 50
),
array(
"Brand" => "Lee",
"Cloth_type" => "tops",
"Quantity" => 80
)
),
);
?>

Zugriff auf mehrdimensionale Arrays in PHP

Der Zugriff auf mehrdimensionale Arrays in PHP ist sehr einfach und erfolgt über die for- oder for every-Schleife, die in PHP häufig verwendete Schleifen. Bei indizierten Arrays kann der Zugriff auf Array-Elemente normal über die Zeilen- und Spaltennummer erfolgen, ähnlich wie bei anderen Sprachen wie C, Java usw. (arr[row_Num][column_Num]).

Bei assoziativen Arrays erfolgt der Zugriff auf die Elemente eines mehrdimensionalen Arrays über die Schlüssel- und Wertpaare (Schlüssel => Wert). Der Zugriff auf die Elemente erfolgt jedoch über die einfache for- oder for every-Schleife. Für ein klares Verständnis des Zugriffs auf Elemente in mehrdimensionalen Arrays sehen Sie sich bitte das unten aufgeführte Beispiel an.

Typen

Es gibt keinen bestimmten Zustand, bis zu dem die mehrdimensionalen Arrays in einem PHP existieren können. Das hängt von der jeweiligen Situation und dem jeweiligen Szenario ab. Die Abmessungen eines Arrays variieren entsprechend. Normalerweise verwenden Programmierer 2D- und 3D-Arrays, da es nach 3D-Arrays etwas schwierig ist, diese zu verwalten.

As we have understood the declaration, initialization and accessing of multidimensional arrays in PHP, it is time for a quick brief explanation with examples.

1. 2D Array in PHP

2D arrays are basically array inside another array. Consider a scenario that a user have 10 books and each book has a different name, cost, type. In this case, the programmer can create an array of book numbers and each element of the main array holds the array which contains details of the book like name, cost, and type.

Code:

<!DOCTYPE html>
<html>
<body>
<?php
/* Multidimensional 2D array for 4 books and each book having a different array containing book name, cost and type. */
$books = array(
array("Fiction ", "Action and Adventure ", 800),
array("Fiction ", "Anthology ", 1000),
array("Non- Fiction ", "Biography ", 600),
array("Non- Fiction ", "Cook Book ", 900)
);
/* Accessing of a 2D array with the row_number and column_number */
for ($row_num = 0; $row_num < 4; $row_num++) {
echo "<p>Book number is  $row_num</p>";
for ($col_num = 0; $col_num < 3; $col_num++) {
// Accessing a particular element in a 2D array
echo $books[$row_num][$col_num];
}
echo "<br>";
}
?>

Output:

Mehrdimensionales Array in PHP

2. 3D Array in PHP

3D arrays are an extension of 2D arrays. 3D arrays contain one more dimension and provides the chance to add more detailed information. Consider a scenario of employee array, in which employee have name, company and year and each employee has a company profile with the attributes id, skills, and profile. Each employee has personal data also with the details of the city, state, and country. In Order, to Store, the Above Data 3D Array Would Be Required.

Code:

<!DOCTYPE html>
<html>
<body>
<?php
$Employee = array(array(array("name", "company", "year"),
array("id","skills","profile"),
array("city","state","country")
),
/* array to store the name, company and year of employee*/
array(array("jiya", "Infosys", 2016),
array("ram", "ola", 2017)
),
/* array to store the id, skills and profile of employees */
array(array("E101", "PHP", "developer"),
array("E103", "mysql", "DBA")
),
/* array to store the city, state and country of employees */
array(array("Bangalore", "Karnataka", "India"),
array("San Francisco", "California", "USA")
)
);
?>
<?php
echo "<ul>";
for ( $outermost = 0; $outermost < 3; $outermost++ )
{
echo "<li>The outermost number $outermost";
echo "<ul>";
for ( $row_num = 0; $row_num < 2; $row_num++ )
{
echo "<li> Now displaying the row number $row_num";
echo "<ul>";
for ( $col_num = 0; $col_num < 3; $col_num++ )
{
// accessing the array elements in a 3D array
echo "<li>".$Employee[$outermost][$row_num][$col_num]."</li>";
}
echo "</ul>";
echo "</li>";
}
echo "</ul>";
echo "</li>";
}
echo "</ul>";
?>
</body>
</html>

Output:

Mehrdimensionales Array in PHP

The above example clearly displays the details of the employee along with their skills in a very user-friendly manner. It allows the detailing of each and every employee in a fancy 3d arrays. We are dealing with 3d arrays, in order to access that, we need to first reach to the main array and then to the index which again holds the subarray and then to the elements of its subarray. In this way, accessing to the elements works in the case of multidimensional arrays starting from the outermost to the innermost array. similarly, in real life, there are sub-arrays or detailed things in which multidimensional arrays are used.

Conclusion

The above explanation clearly shows how the multidimensional arrays are used in php along with their basic syntax and initialization. Multidimensional arrays play an important role when it comes to working on real-life problems as they allow the user to store the data in a detailed form. Moreover, as shown above, php allows storing the multidimensional data either in indexed or associative form according to the requirements which makes it more friendly to access and store the data.

Das obige ist der detaillierte Inhalt vonMehrdimensionales Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Assoziatives Array in PHP Nächster Artikel:Assoziatives Array in PHP