An array is a collection of similar and dissimilar data types. An array stores in a variable related data. We need arrays to create and store these many numbers of variables value in one variable. There are three types of an array in PHP. Numeric Arrays, Associative Arrays, and Multidimensional Arrays. An associative array is in the form of key-value pair, where the key is the index of the array and the value is the element of the array. Here the key can be user-defined. It is similar to the numeric array, but the keys and values which are stored in the form of a key-value pair.
In this topic, we are going to learn about the Associative Array in PHP.
ADVERTISEMENT Popular Course in this category PHP DEVELOPER - Specialization | 8 Course Series | 3 Mock TestsStart Your Free Software Development Course
Web development, programming languages, Software testing & others
Syntax
//First Way $input = array("key1"=>"value1", "key2"=>"value2", "key3"=>"value3"); //Second Way $input["key1"] = value1; $input["key2"] = value2; $input["key3"] = value3;
where $input is the array name, key1 is the index of the array element, and value1 is the value of the array element
The associative array is declared using an array keyword. The key value in the array is declared using the ‘=>’ arrow. There are two ways to create an associative array.
Following are the example.
Code:
<?php // create associative array // first way $family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj" ,"daughter"=> "Mona"); // second way $family["father"] = "Mohan"; $family["mother"] = "Sita"; $family["son"] = "Raj"; $family["daughter"] = "Mona"; ?>
There are two methods through which we can traverse the associative array. One is the foreach loop, and the second is for a loop.
In this example, an array is declared and named as a $family. This array is in the key-value form where the keys are names of relations like Father, Mother, Son, Daughter. And each key holds the name of the relationship like the first value for index Father is Mohan, the second value for index Mother is Sita, the third value for index Son is Raj, the fourth value for index Daughter is Mona. To traverse this array, we use a foreach loop, in which we print both keys as Father, Mother, Son, Daughter and values as Mohan, Sita, Raj and Mona of the array.
Code:
<?php //example of the associative array $family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj" ,"daughter"=> "Mona"); //first method to traverse the associative array foreach($family as $key=>$value) { echo $key .' is '.$value; echo '<br>'; } ?>
In this example, we will use the same array family as in the previous example and traverse using for loop. Also, we will be using the array_keys function to get the keys of the array, which are father, mother, son, and daughter. These keys are returned in the form of an array. The array_keys function takes an input array as the parameter and outputs an indexed array. Now to iterate through this loop, we will use for loop and print the keys and values as required.
Code:
<strong> </strong><?php // Example to demonstrate for loop $family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj" ,"daughter"=> "Mona"); $length = count($family); $keys = array_keys($family); // for loop to traverse associative array for($i=0; $i<$length; $i++) { echo "<br>". $keys[$i] . " => " . $family[$keys[$i]]; } ?>
Output:
An associative array can be sorted in two ways based on the key and based on value. Here we will learn about sorting the associative array by value. There are two inbuilt php functions like asort() and arsort(), which are used for sorting of the associative array by value in alphabetical order.
Let’s learn this with an example.
1. asort(): performs a sort on associative array according to the value in ascending order
Code:
<?php // example to demonstrate asort() function on associative array by value in ascending order $family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj" ,"daughter"=> "Mona"); print_r($family); asort($family); echo "<br>"; print_r($family); ?>
Output:
2. arsort(): performs a sort on associative array according to the value in descending order
Code:
<?php // example to demonstrate asort() function on associative array by value in descending order $family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj" ,"daughter"=> "Mona"); echo "<br>Before Sort"; print_r($family); arsort($family); echo "<br>After Sort"; print_r($family); ?>
Output:
As associative array can be sorted by value in ascending order. In a similar way, the associative array can be sorted by key alphabetically both in ascending order and in descending order, as shown in the below example.
1. ksort(): performs a sort on associative array according to the key in ascending order
Code:
<?php // example to demonstrate ksort() function on associative array by key in ascending order $family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj" ,"daughter"=> "Mona"); echo "<br>Before Sort"; print_r($family); ksort($family); echo "<br>After Sort"; print_r($family); ?>
Output:
2. krsort(): performs a sort on associative array according to the key in descending order
Code:
<?php // example to demonstrate krsort() function on associative array by key in descending order $family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj" ,"daughter"=> "Mona"); echo "<br>Before Sort"; print_r($family); krsort($family); echo "<br>After Sort"; print_r($family); ?>
Output:
Programs starting from basic like the syntax, creating the array, and traverse through the array are explained. Also, topics like advantages of the associative array and how to perform sorting on the associative array are also mentioned.
The above is the detailed content of Associative Array in PHP . For more information, please follow other related articles on the PHP Chinese website!