Open In App

Multidimensional arrays in PHP

Last Updated : 20 Sep, 2024
Suggest changes
Share
Like Article
Like
Report

Multi-dimensional arrays in PHP are arrays that store other arrays as their elements. Each dimension adds complexity, requiring multiple indices to access elements. Common forms include two-dimensional arrays (like tables) and three-dimensional arrays, useful for organizing complex, structured data.

Dimensions

Dimensions of multidimensional array indicates the number of indices needed to select an element. For a two dimensional array two indices to select an element.

Two dimensional array

It is the simplest form of a multidimensional array. It can be created using nested array. These type of arrays can be used to store any type of elements, but the index is always a number. By default, the index starts with zero.

Syntax:

array ( array (elements...), array (elements...), ... )

Example: In this example we creates a two-dimensional array containing names and locations. The print_r() function is used to display the structure and contents of the array, showing the nested arrays and their values.

php
<?php // PHP program to create  // multidimensional array // Creating multidimensional // array $myarray = array( // Default key for each will // start from 0 array("Ankit", "Ram", "Shyam"), array("Unnao", "Trichy", "Kanpur") ); // Display the array information print_r($myarray); ?> 

Output
Array ( [0] => Array ( [0] => Ankit [1] => Ram [2] => Shyam ) [1] => Array ( [0] => Unnao [1] => Trichy [2] => Kanpur ) ) 

Two dimensional associative array

Al associative array is similar to indexed array but instead of linear storage (indexed storage), every value can be assigned with a user-defined key of string type.

Example: In this example we creates a two-dimensional associative array to store students' marks for various subjects. The print_r() function displays the array, showing each student's name as a key with subject-marks pairs.

php
<?php // PHP program to creating two  // dimensional associative array $marks = array( // Ankit will act as key "Ankit" => array( // Subject and marks are // the key value pair "C" => 95, "DCO" => 85, "FOL" => 74, ), // Ram will act as key "Ram" => array( // Subject and marks are // the key value pair "C" => 78, "DCO" => 98, "FOL" => 46, ), // Anoop will act as key "Anoop" => array( // Subject and marks are // the key value pair "C" => 88, "DCO" => 46, "FOL" => 99, ), ); echo "Display Marks: \n"; print_r($marks); ?> 

Output
Display Marks: Array ( [Ankit] => Array ( [C] => 95 [DCO] => 85 [FOL] => 74 ) [Ram] => Array ( [C] => 78 [DCO] => 98 [FOL] => 46 ) [Anoop] => Array ( [C] => 88 [DCO] => 46 [FOL] => 99 ) ) 

Three Dimensional Array

It is the form of multidimensional array. Initialization in Three-Dimensional array is same as that of Two-dimensional arrays. The difference is as the number of dimension increases so the number of nested braces will also increase.

Syntax:

array ( array ( array (elements...), array (elements...), ... ), array ( array (elements...), array (elements...), ... ), ... )

Example: In this example we creates a three-dimensional array with nested arrays containing numeric values. The print_r() function is used to display the structure and contents of the entire array.

php
<?php // PHP program to creating three // dimensional array // Create three nested array $myarray = array( array( array(1, 2), array(3, 4), ), array( array(5, 6), array(7, 8), ), ); // Display the array information print_r($myarray); ?> 

Output
Array ( [0] => Array ( [0] => Array ( [0] => 1 [1] => 2 ) [1] => Array ( [0] => 3 [1] => 4 ) ) [1] => Array ( [0] => Array ( [0] => 5 [1] => 6 ) [1] => Array ( [0] => 7 [1] => 8 ) ) ) 

Accessing multidimensional array elements

There are mainly two ways to access multidimensional array elements in PHP.

  • Elements can be accessed using dimensions as array_name['first dimension']['second dimension'].
  • Elements can be accessed using for loop.
  • Elements can be accessed using for each loop.

Example: In this example we creates a multi-dimensional associative array to store students' marks by subject. It displays specific marks and iterates through the array using a foreach loop to print values.

php
<?php // PHP code to create  // multidimensional array // Creating multidimensional // associative array $marks = array( // Ankit will act as key "Ankit" => array( // Subject and marks are  // the key value pair "C" => 95, "DCO" => 85, "FOL" => 74, ), // Ram will act as key "Ram" => array( // Subject and marks are  // the key value pair "C" => 78, "DCO" => 98, "FOL" => 46, ), // Anoop will act as key "Anoop" => array( // Subject and marks are // the key value pair "C" => 88, "DCO" => 46, "FOL" => 99, ), ); // Accessing the array element  // using dimensions  // It will display the marks of // Ankit in C subject echo $marks['Ankit']['C'] . "\n"; // Accessing array elements using for each loop foreach($marks as $mark) { echo $mark['C']. " ".$mark['DCO']." ".$mark['FOL']."\n"; } ?> 

Output
95 95 85 74 78 98 46 88 46 99 

PHP is a server-side scripting language designed specifically for web development. You can learn PHP from the ground up by following this PHP Tutorial and PHP Examples.


Next Article

Similar Reads