Open In App

Multidimensional arrays in PHP

Last Updated : 31 Jul, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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);
?>


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:




<?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:




<?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:




<?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.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads