An array refers to a data structure storing one or more related types of values in a single value. For instance, if you are looking to store 100 numbers, instead of specifying 100 variables, you can simply define an array of length 100.N

There are three types of arrays, and you can assess each array value through an ID c, also known as the array index.

  • Numeric Array - It refers to an array with a numeric index. Values are stored and accessed in a linear fashion
  • Associative Array - It refers to an array with strings as an index. Rather than storing element values in a strict linear index order, this stores them in combination with key values.
  • Multiple indices are used to access values in a multidimensional array, which contains one or more arrays.


Associative arrays in PHP store key value pairs. For instance, If you need to store marks earned by a student in different subjects in an array, a numerically indexed array may not be the right choice. A better and more effective option would be to use the names of the subjects as the keys in your associative list, with their respective marks as the value.

Want a Top Software Development Job? Start Here!

Full Stack Development-MEANExplore Program
Want a Top Software Development Job? Start Here!

In terms of features, associative arrays are very similar to numeric arrays, but they vary in terms of the index. The index of an associative array is a string that allows you to create a strong link between key and value.

A numerically indexed array is not the best option for storing employee salaries in an array. Instead, you can use the employees' names as keys in an associative list, with their salaries as the value.

  • “$variable name...” is the variable's name, “['key name']” is the element's access index number, and “value” is the array element's value.
  • Let's say you have a group of people and you want to assign gender to each of them based on their names.
  • To do so, you can use an associative list.
  • The code below will assist you in doing so.



/* First method to create an associative array. */

$student_one = array("Maths"=>95, "Physics"=>90,  

                  "Chemistry"=>96, "English"=>93,  


/* Second method to create an associative array. */

$student_two["Maths"] = 95; 

$student_two["Physics"] = 90; 

$student_two["Chemistry"] = 96; 

$student_two["English"] = 93; 

$student_two["Computer"] = 98;   

/* Accessing the elements directly */

echo "Marks for student one is:\n"; 

echo "Maths:" . $student_two["Maths"], "\n"; 

echo "Physics:" . $student_two["Physics"], "\n"; 

echo "Chemistry:" . $student_two["Chemistry"], "\n"; 

echo "English:" . $student_one["English"], "\n"; 

echo "Computer:" . $student_one["Computer"], "\n"; 



Want a Top Software Development Job? Start Here!

Full Stack Development-MEANExplore Program
Want a Top Software Development Job? Start Here!

Traversing the Associative Array

Loops are used to traverse Associative arrays in PHP. There are two ways to loop around the associative array. First, by using the for loop, and then by using the ‘foreach’ command.

Example: In Associative arrays in PHP, the array keys() function is used to find indices with names provided to them, and the count() function is used to count the number of indices.



/* Creating an associative array */

$student_one = array("Maths"=>95, "Physics"=>90,  

                  "Chemistry"=>96, "English"=>93,  


/* Looping through an array using foreach */

echo "Looping using foreach: \n"; 

foreach ($student_one as $subject => $marks){ 

    echo "Student one got ".$marks." in ".$subject."\n"; 

/* Looping through an array using for */

echo "\nLooping using for: \n"; 

$subject = array_keys($student_one); 

$marks = count($student_one);      

for($i=0; $i < $marks; ++$i) { 

    echo $subject[$i] . ' ' . $student_one[$subject[$i]] . "\n"; 




Learn 15+ In-Demand Tools and Skills!

Automation Testing Masters ProgramExplore Program
Learn 15+ In-Demand Tools and Skills!

Example 2: 


/* Creating an associative array of mixed types */

$arr["xyz"] = 95; 

$arr[100] = "abc"; 

$arr[11.25] = 100; 

$arr["abc"] = "pqr";   

/* Looping through an array using foreach */

foreach ($arr as $key => $val){ 

    echo $key."==>".$val."\n"; 






An associative array in PHP represents an ordered map. A map is a data form that associates keys with values. This form is well-suited to a variety of tasks; it can be used as an array, list (vector), a hash table (a map implementation), dictionary, set, stack, queue, and possibly more. 

Trees and multidimensional associative arrays in PHP are also possible since array values may be other arrays. Although it is beyond the reach, this Simplilearn course will help you to explain each of these data structures, at least one example is given for each of them.

Do you have any questions regarding this article? Leave your questions or/and inputs for us on the associative array in PHP in the comments section of this page, and our experts will get back to you at the earliest.

Happy learning!

About the Author

Ravikiran A SRavikiran A S

Ravikiran A S works with Simplilearn as a Research Analyst. He an enthusiastic geek always in the hunt to learn the latest technologies. He is proficient with Java Programming Language, Big Data, and powerful Big Data Frameworks like Apache Hadoop and Apache Spark.

View More
  • Disclaimer
  • PMP, PMI, PMBOK, CAPM, PgMP, PfMP, ACP, PBA, RMP, SP, and OPM3 are registered marks of the Project Management Institute, Inc.