Multidimensional Associative Array in PHP

31 Jul, 2021
PHP Multidimensional array is used to store an array in contrast to constant values. Associative array stores the data in the form of key and value pairs where the key can be an integer or string. Multidimensional associative array is often used to store data in group relation.
Creation: We can create a multidimensional associative array by mapping an array containing a set of key and value pairs to the parent key.The below program demonstrate how to create a multidimensional associative array:
<?php  $languages = array();  $languages['Python'] = array(    "first_release" => "1991",     "latest_release" => "3.8.0",     "designed_by" => "Guido van Rossum",    "description" => array(        "extension" => ".py",         "typing_discipline" => "Duck, dynamic, gradual",        "license" => "Python Software Foundation License"    ));  $languages['PHP'] = array(    "first_release" => "1995",     "latest_release" => "7.3.11",     "designed_by" => "Rasmus Lerdorf",    "description" => array(        "extension" => ".php",         "typing_discipline" => "Dynamic, weak",        "license" => "PHP License (most of Zend engine             under Zend Engine License)"    ));  print_r($languages);  ?>
Array
(
    [Python] => Array
        (
            [first_release] => 1991
            [latest_release] => 3.8.0
            [designed_by] => Guido van Rossum
            [description] => Array
                (
                    [extension] => .py
                    [typing_discipline] => Duck, dynamic, gradual
                    [license] => Python Software Foundation License
                )

        )

    [PHP] => Array
        (
            [first_release] => 1995
            [latest_release] => 7.3.11
            [designed_by] => Rasmus Lerdorf
            [description] => Array
                (
                    [extension] => .php
                    [typing_discipline] => Dynamic, weak
                    [license] => PHP License (most of Zend engine
             under Zend Engine License)
                )

        )

)

Explanation: In above program, parent index are Python and PHP. The parent key is associated with an array of sets of keys with constant values. The last key i.e. description of each parent key has been associated with another array of the set of keys and constant values. Here Python and PHP are parent key for first_release, latest_release, designed_by and description whereas description is parent key for the extension, typing_discipline, and license.
Retrieving Values: We can retrieve the value of multidimensional array using the following method:
Using key: We can use key of the associative array to directly retrieve the data value.Example:<?php  $languages = array();  $languages['Python'] = array(    "first_release" => "1991",     "latest_release" => "3.8.0",     "designed_by" => "Guido van Rossum",    "description" => array(        "extension" => ".py",         "typing_discipline" => "Duck, dynamic, gradual",        "license" => "Python Software Foundation License"    ));  print_r($languages['Python']['description']);echo $languages['Python']['latest_release'];  ?>Output:Array
(
    [extension] => .py
    [typing_discipline] => Duck, dynamic, gradual
    [license] => Python Software Foundation License
)
3.8.0
Using foreach loop: We can use foreach loop to retrieve value of each key associated inside the multidimensional associative array.Example:<?php  $languages = array();  $languages['Python'] = array(    "first_release" => "1991",     "latest_release" => "3.8.0",     "designed_by" => "Guido van Rossum",    "description" => array(        "extension" => ".py",         "typing_discipline" => "Duck, dynamic, gradual",        "license" => "Python Software Foundation License"    ));  foreach ($languages as $key => $value) {    echo $key . "\n";    foreach ($value as $sub_key => $sub_val) {                          // If sub_val is an array then again        // iterate through each element of it        // else simply print the value of sub_key        // and sub_val        if (is_array($sub_val)) {            echo $sub_key . " : \n";            foreach ($sub_val as $k => $v) {                echo "\t" .$k . " = " . $v . "\n";            }        } else {            echo $sub_key . " = " . $sub_val . "\n";        }    }}  ?>Output:Python
first_release = 1991
latest_release = 3.8.0
designed_by = Guido van Rossum
description : 
    extension = .py
    typing_discipline = Duck, dynamic, gradual
    license = Python Software Foundation License

Using key: We can use key of the associative array to directly retrieve the data value.Example:<?php  $languages = array();  $languages['Python'] = array(    "first_release" => "1991",     "latest_release" => "3.8.0",     "designed_by" => "Guido van Rossum",    "description" => array(        "extension" => ".py",         "typing_discipline" => "Duck, dynamic, gradual",        "license" => "Python Software Foundation License"    ));  print_r($languages['Python']['description']);echo $languages['Python']['latest_release'];  ?>Output:Array
(
    [extension] => .py
    [typing_discipline] => Duck, dynamic, gradual
    [license] => Python Software Foundation License
)
3.8.0

Example:
<?php  $languages = array();  $languages['Python'] = array(    "first_release" => "1991",     "latest_release" => "3.8.0",     "designed_by" => "Guido van Rossum",    "description" => array(        "extension" => ".py",         "typing_discipline" => "Duck, dynamic, gradual",        "license" => "Python Software Foundation License"    ));  print_r($languages['Python']['description']);echo $languages['Python']['latest_release'];  ?>
Array
(
    [extension] => .py
    [typing_discipline] => Duck, dynamic, gradual
    [license] => Python Software Foundation License
)
3.8.0

Using foreach loop: We can use foreach loop to retrieve value of each key associated inside the multidimensional associative array.Example:<?php  $languages = array();  $languages['Python'] = array(    "first_release" => "1991",     "latest_release" => "3.8.0",     "designed_by" => "Guido van Rossum",    "description" => array(        "extension" => ".py",         "typing_discipline" => "Duck, dynamic, gradual",        "license" => "Python Software Foundation License"    ));  foreach ($languages as $key => $value) {    echo $key . "\n";    foreach ($value as $sub_key => $sub_val) {                          // If sub_val is an array then again        // iterate through each element of it        // else simply print the value of sub_key        // and sub_val        if (is_array($sub_val)) {            echo $sub_key . " : \n";            foreach ($sub_val as $k => $v) {                echo "\t" .$k . " = " . $v . "\n";            }        } else {            echo $sub_key . " = " . $sub_val . "\n";        }    }}  ?>Output:Python
first_release = 1991
latest_release = 3.8.0
designed_by = Guido van Rossum
description : 
    extension = .py
    typing_discipline = Duck, dynamic, gradual
    license = Python Software Foundation License

<?php  $languages = array();  $languages['Python'] = array(    "first_release" => "1991",     "latest_release" => "3.8.0",     "designed_by" => "Guido van Rossum",    "description" => array(        "extension" => ".py",         "typing_discipline" => "Duck, dynamic, gradual",        "license" => "Python Software Foundation License"    ));  foreach ($languages as $key => $value) {    echo $key . "\n";    foreach ($value as $sub_key => $sub_val) {                          // If sub_val is an array then again        // iterate through each element of it        // else simply print the value of sub_key        // and sub_val        if (is_array($sub_val)) {            echo $sub_key . " : \n";            foreach ($sub_val as $k => $v) {                echo "\t" .$k . " = " . $v . "\n";            }        } else {            echo $sub_key . " = " . $sub_val . "\n";        }    }}  ?>
Python
first_release = 1991
latest_release = 3.8.0
designed_by = Guido van Rossum
description : 
    extension = .py
    typing_discipline = Duck, dynamic, gradual
    license = Python Software Foundation License

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
PHP-basics
Picked
PHP
PHP Programs
Web Technologies
Web technologies Questions
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 get parameters from a URL string in 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 get parameters from a URL string in PHP?
Split a comma delimited string into an array in PHP
How to pass JavaScript variables to PHP ?