Understanding Different Types of Arrays in PHP
Arrays are one of the basic data structures in programming where plural values are stored under one variable. PHP is a general-purpose widely-used scripting language that carries a lot of arrays, and the programmer can be able to do different tasks in so many ways. Let's see the different types of arrays in PHP, their syntax, and a practical example of their use.
1. Indexed Arrays
Definition
Indexed arrays are also sometimes called numeric arrays. To access the elements, numeric indices are used. When a set of elements needs to be stored in a list and the keys are unimportant, such arrays should be used.
Syntax
// Creating an indexed array
$fruits = array("Apple", "Banana", "Cherry");
// Alternatively, using short array syntax
$fruits = ["Apple", "Banana", "Cherry"];
PHP Array Accessing Elements
Elements in an indexed array are accessed using their numeric indices, starting from 0.
echo $fruits[0]; // Outputs: Apple
echo $fruits[1]; // Outputs: Banana
Example
$numbers = [1, 2, 3, 4, 5];
foreach ($numbers as $number) {
echo $number . " ";
}
// Outputs: 1 2 3 4 5
2. Associative Arrays
Definition
Associative arrays are arrays that have keys which you assign to them. This kind of array is useful when you would like to associate values with some specific keys, for example, holding user information.
Syntax
// Creating an associative array
$user = array("name" => "John", "email" => "[email protected]");
// Alternatively, using short array syntax
$user = ["name" => "John", "email" => "[email protected]"];
Accessing Elements
Elements in an associative array are accessed using their keys.
echo $user["name"]; // Outputs: John
echo $user["email"]; // Outputs: [email protected]
Example
$person = [
"first_name" => "Jane",
"last_name" => "Doe",
"age" => 30
];
foreach ($person as $key => $value) {
echo $key . ": " . $value . "\n";
}
// Outputs:
// first_name: Jane
// last_name: Doe
// age: 30
3. Multidimensional Arrays
Definition
Multidimensional arrays are arrays that can contain elements that are other arrays. The second set of arrays could be indexed or associative, making it pretty much possible to realize a very complex structure of data akin to a matrix or table.
Syntax
// Creating a multidimensional array
$matrix = array(
array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9)
);
// Alternatively, using short array syntax
$matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
Accessing Elements
Access elements in a multidimensional array by chaining indices.
echo $matrix[0][1]; // Outputs: 2
echo $matrix[2][0]; // Outputs: 7
Example
$students = [
["name" => "Alice", "grade" => 85],
["name" => "Bob", "grade" => 78],
["name" => "Charlie", "grade" => 92]
];
foreach ($students as $student) {
echo $student["name"] . " scored " . $student["grade"] . "\n";
}
// Outputs:
// Alice scored 85
// Bob scored 78
// Charlie scored 92
4. Array Functions in PHP
PHP offers a wide range of built-in functions to manipulate arrays. Here are some commonly used functions:
array_push()
Adds one or more elements to the end of an array.
$stack = ["orange", "banana"];
array_push($stack, "apple", "raspberry");
print_r($stack);
// Outputs: Array ( [0] => orange [1] => banana [2] => apple [3] => raspberry )
array_pop()
Removes the last element from an array.
$stack = ["orange", "banana", "apple", "raspberry"];
$fruit = array_pop($stack);
print_r($stack);
// Outputs: Array ( [0] => orange [1] => banana [2] => apple )
array_merge()
Merges one or more arrays.
$array1 = ["color" => "red", 2, 4];
$array2 = ["a", "b", "color" => "green", "shape" => "trapezoid", 4];
$result = array_merge($array1, $array2);
print_r($result);
// Outputs: Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )
array_keys()
Returns all the keys of an array.
$array = ["name" => "John", "age" => 30];
$keys = array_keys($array);
print_r($keys);
// Outputs: Array ( [0] => name [1] => age )
array_values()
Returns all the values of an array.
$array = ["name" => "John", "age" => 30];
$values = array_values($array);
print_r($values);
// Outputs: Array ( [0] => John [1] => 30 )
5. Sorting Arrays
PHP provides several functions to sort arrays, both indexed and associative.
sort()
Sorts an indexed array in ascending order.
$numbers = [4, 6, 2, 22, 11];
sort($numbers);
print_r($numbers);
// Outputs: Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 11 [4] => 22 )
rsort()
Sorts an indexed array in descending order.
$numbers = [4, 6, 2, 22, 11];
rsort($numbers);
print_r($numbers);
// Outputs: Array ( [0] => 22 [1] => 11 [2] => 6 [3] => 4 [4] => 2 )
asort()
Sorts an associative array in ascending order, according to the value.
$age = ["Peter" => 35, "Ben" => 37, "Joe" => 43];
asort($age);
print_r($age);
// Outputs: Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )
ksort()
Sorts an associative array in ascending order, according to the key.
$age = ["Peter" => 35, "Ben" => 37, "Joe" => 43];
ksort($age);
print_r($age);
// Outputs: Array ( [Ben] => 37 [Joe] => 43 [Peter] => 35 )
6. Array Iteration
Iterating over arrays is a common task. PHP provides several ways to loop through arrays.
foreach
Loop
The foreach
loop is specifically designed for iterating over arrays.
$colors = ["red", "green", "blue", "yellow"];
foreach ($colors as $color) {
echo $color . "\n";
}
// Outputs:
// red
// green
// blue
// yellow
for
Loop
The for
loop can also be used for indexed arrays.
$colors = ["red", "green", "blue", "yellow"];
for ($i = 0; $i < count($colors); $i++) {
echo $colors[$i] . "\n";
}
// Outputs:
// red
// green
// blue
// yellow
Conclusion
Arrays are one of the powerful and flexible PHP tools. Through this functionality, developers deal with collections of data. The different types of arrays—index, associative, and multidimensional—along with the large number of functions available to manipulate them, illustrate well the strong state of PHP programming. With concepts mastered, you can start writing effective, readable, and maintainable code.
Sami Rahimi
Innovate relentlessly. Shape the future..
Recent Comments