In PHP, an indexed array is a type of array where each element is assigned an index number. By default, the index of the first element starts at 0, the second element gets index 1, and so on. This sequential indexing makes it easy to access and manipulate array elements.
- Sequential Indexing: The first element is indexed at 0, the second at 1, and so on.
- Dynamic Size: Indexed arrays can grow and shrink without needing to declare their size in advance.
- Flexible Data Types: You can store various data types like integers, strings, booleans, and floats in an indexed array.
Creating an Indexed Array
Indexed arrays in PHP can be created in two ways:
1. Using the array() function
<?php
$colors = array("red", "green", "blue", "yellow");
echo $colors[0];
?>
2. Using the short syntax (square brackets)
<?php
$fruits = ["apple", "mango", "litchi"];
?>
3. Accessing Elements in an Indexed Array
You can access elements in an indexed array by referring to their index number.
<?php
$pen = ["Parker", "Flair", "Cello"];
echo $pen[0];
?>
Output
Parker
4. Modifying Array Elements
To modify an array element, simply refer to its index and assign a new value.
<?php
$numbers = [10, 20, 30, 40];
$numbers[2] = 35;
var_dump($numbers);
?>
Output
array(4) {
[0]=>
int(10)
[1]=>
int(20)
[2]=>
int(35)
[3]=>
int(40)
}
5. Looping Through Indexed Arrays
PHP provides multiple ways to loop through indexed arrays. The most common way is using a foreach loop.
<?php
$cars = ["Volvo", "BMW", "Toyota"];
foreach ($cars as $car) {
echo "$car"."\n"; // Output: Volvo, BMW, Toyota
}
?>
Output
Volvo BMW Toyota
Another way is by using a for loop, especially when you need to access both the index and value.
<?php
$countries = ["USA", "Canada", "Mexico", "Brazil"];
for ($i = 0; $i < count($countries); $i++) {
echo $countries[$i] . "\n";
}
?>
Output
USA Canada Mexico Brazil
6. Adding New Items
You can use the array_push() function to add new items to an indexed array. PHP will automatically assign the next available index.
<?php
$colors = ["red", "green", "blue"];
array_push($colors,