Home  >  Article  >  Backend Development  >  Associative Array in PHP 

Associative Array in PHP 

WBOY
WBOYOriginal
2024-08-29 12:44:16271browse

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 Tests

Start 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

How to Create an Associative Array in PHP?

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

How to Traverse Associative Array in PHP using various methods

There are two methods through which we can traverse the associative array. One is the foreach loop, and the second is for a loop.

Method #1

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>';
}
?>

Method #2

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:

Associative Array in PHP 

Advantages of Associative Array in PHP

  1. There are different functions that work to merge two associative arrays.
  2. It is similar to the user list, stack, queue, etc.
  3. Indexes in the array are used, which are helpful in remembering the data
  4. These indexes are user-defined and can be changed accordingly.
  5. The superglobal arrays like $_POST, $_GET, $_SESSION arrays also support associative arrays.

Sorting of Associative Array by Value in PHP

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:

Associative Array in PHP 

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:

Associative Array in PHP 

Sorting of Associative Array by Key in PHP

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:

Associative Array in PHP 

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:

Associative Array in PHP 

Conclusion

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:PHP array lengthNext article:PHP array length