Multi-dimensional arrays are such type of arrays which stores an another array at each index instead of single element. In other words, define multi-dimensional arrays as array of arrays. As the name suggests, every element in this array can be an array and they can also hold other sub-arrays within. Arrays or sub-arrays in multidimensional arrays can be accessed using multiple dimensions.
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:
<?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 ); ?> |
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:
<?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 ); ?> |
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:
<?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 ); ?> |
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:
<?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" ; }       ?> |
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.