Multidimensional arrays in PHP - GeeksforGeeks

31 Jul, 2021
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 informationprint_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 informationprint_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 subjectecho $marks['Ankit']['C'] . "\n";       // Accessing array elements using for each loopforeach($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.
PHP-array
Picked
PHP
PHP Programs
Technical Scripter
Web Technologies
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to convert array to string in PHP ?
PHP | Converting string to Date and DateTime
How to pass JavaScript variables to PHP ?
Split a comma delimited string into an array in PHP
Download file from URL using PHP
How to convert array to string in PHP ?
How to call PHP function on the click of a Button ?
How to pass JavaScript variables to PHP ?
Split a comma delimited string into an array in PHP
How to get parameters from a URL string in PHP?