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.