PHP - Arrays
Arrays are used to store multiple values in a single variable. In PHP, an array can hold multiple data types.
Create an Array
An array can be created using array() keyword. It can be initialized at the time of creation by specifying all elements of the array within the array() keyword and separated by comma(,) or it can be initialized later by specifying value using index number.
Syntax
//Creating an empty array. $MyArray = array(); //Creating an array with initialization. $MyArray = array(value1, value2, ...); //initialization after creation of array $MyArray[index_number] = value;
Access element of an Array
An element of an Array can be accessed with it's index number. Index number for an Array in PHP starts with 0.

Below mentioned example illustrates on indexing for an Array in PHP.
<?php //creating an array with 3 elements $MyArray = array('MON', 'TUE', 'WED'); //Add 4th and 5th elements $MyArray[3] = 'THU'; $MyArray[4] = 'FRI'; echo "MyArray contains: "; for ($i = 0; $i < count($MyArray); $i++) { echo $MyArray[$i]." "; } ?>
The output of the above code will be:
MyArray contains: MON TUE WED THU FRI
Change elements of an Array
Any element of an Array can be changed using its index number and assigning a new value.
<?php //creating an array with 5 elements $MyArray = array(10, 20, 30, 40, 50); //changing the value of element at index=1 $MyArray[1] = 1000; echo "MyArray contains: "; for ($i = 0; $i < count($MyArray); $i++) { echo $MyArray[$i]." "; } ?>
The output of the above code will be:
MyArray contains: 10 1000 30 40 50
Loop over an Array
By using for loop, while loop or foreach loop, each elements of an array can be accessed.
For Loop over an Array
In the below example, for loop is used to access all elements of the given array.
<?php //creating an array with 5 elements $MyArray = array(10, 20, 30, 40, 50); echo "MyArray contains: "; for ($i = 0; $i < count($MyArray); $i++) { echo $MyArray[$i]." "; } ?>
The output of the above code will be:
MyArray contains: 10 20 30 40 50
While Loop over an Array
Similarly, while loop is also be used to access elements of the array.
<?php //creating an array with 5 elements $MyArray = array(10, 20, 30, 40, 50); $i = 0; echo "MyArray contains: "; while($i < count($MyArray)) { echo $MyArray[$i]." "; $i++; } ?>
The output of the above code will be:
MyArray contains: 10 20 30 40 50
Foreach Loop over an Array
In the below example, foreach loop is used to access all elements of an array.
<?php //creating an array with 5 elements $MyArray = array(10, 20, 30, 40, 50); echo "MyArray contains: "; foreach ($MyArray as $i) { echo $i." "; } ?>
The output of the above code will be:
MyArray contains: 10 20 30 40 50
Recommended Pages
Function | Description |
---|---|
array() | Creates an array |
array_change_key_case() | Changes all keys in an array to lowercase or uppercase |
array_chunk() | Splits an array into chunks of arrays |
array_column() | Returns the values from a single column in the input array |
array_combine() | Creates an array by using the elements from one "keys" array and one "values" array |
array_count_values() | Counts all the values of an array |
array_diff() | Compare arrays, and returns the differences (compare values only) |
array_diff_assoc() | Compare arrays, and returns the differences (compare keys and values) |
array_diff_key() | Compare arrays, and returns the differences (compare keys only) |
array_diff_uassoc() | Compare arrays, and returns the differences (compare keys and values, using a user-defined key comparison function) |
array_diff_ukey() | Compare arrays, and returns the differences (compare keys only, using a user-defined key comparison function) |
array_fill() | Fills an array with values |
array_fill_keys() | Fills an array with values, specifying keys |
array_filter() | Filters the values of an array using a callback function |
array_flip() | Flips/Exchanges all keys with their associated values in an array |
array_intersect() | Compare arrays, and returns the matches (compare values only) |
array_intersect_assoc() | Compare arrays and returns the matches (compare keys and values) |
array_intersect_key() | Compare arrays, and returns the matches (compare keys only) |
array_intersect_uassoc() | Compare arrays, and returns the matches (compare keys and values, using a user-defined key comparison function) |
array_intersect_ukey() | Compare arrays, and returns the matches (compare keys only, using a user-defined key comparison function) |
array_key_exists() | Checks if the specified key exists in the array |
array_keys() | Returns all the keys of an array |
array_map() | Sends each value of an array to a user-made function, which returns new values |
array_merge() | Merges one or more arrays into one array |
array_merge_recursive() | Merges one or more arrays into one array recursively |
array_multisort() | Sorts multiple or multi-dimensional arrays |
array_pad() | Inserts a specified number of items, with a specified value, to an array |
array_pop() | Deletes the last element of an array |
array_product() | Calculates the product of the values in an array |
array_push() | Inserts one or more elements to the end of an array |
array_rand() | Returns one or more random keys from an array |
array_reduce() | Returns an array as a string, using a user-defined function |
array_replace() | Replaces the values of the first array with the values from following arrays |
array_replace_recursive() | Replaces the values of the first array with the values from following arrays recursively |
array_reverse() | Returns an array in the reverse order |
array_search() | Searches an array for a given value and returns the key |
array_shift() | Removes the first element from an array, and returns the value of the removed element |
array_slice() | Returns selected parts of an array |
array_splice() | Removes and replaces specified elements of an array |
array_sum() | Returns sum of all values in the array. |
array_udiff() | Compare arrays, and returns the differences (compare values only, using a user-defined key comparison function) |
array_udiff_assoc() | Compare arrays, and returns the differences (compare keys and values, using a built-in function to compare the keys and a user-defined function to compare the values) |
array_udiff_uassoc() | Compare arrays, and returns the differences (compare keys and values, using two user-defined key comparison functions) |
array_uintersect() | Compare arrays, and returns the matches (compare values only, using a user-defined key comparison function) |
array_uintersect_assoc() | Compare arrays, and returns the matches (compare keys and values, using a built-in function to compare the keys and a user-defined function to compare the values) |
array_uintersect_uassoc() | Compare arrays, and returns the matches (compare keys and values, using two user-defined key comparison functions) |
array_unique() | Removes duplicate values from an array |
array_unshift() | Adds one or more elements to the beginning of an array |
array_values() | Returns all the values of an array |
array_walk() | Applies a user function to every member of an array |
array_walk_recursive() | Applies a user function recursively to every member of an array |
arsort() | Sorts an associative array in descending order, according to the value. |
asort() | Sort an associative array in ascending order, according to the value. |
compact() | Create array containing variables and their values |
count() | Returns the number of elements in an array |
current() | Returns the current element in an array |
each() | Deprecated from PHP 7.2. Returns the current key and value pair from an array |
end() | Sets the internal pointer of an array to its last element |
extract() | Imports variables into the current symbol table from an array |
in_array() | Checks if a specified value exists in an array |
key() | Fetches a key from an array |
krsort() | Sorts an associative array in descending order, according to the key. |
ksort() | Sorts an associative array in ascending order, according to the key. |
list() | Assigns variables as if they were an array |
natcasesort() | Sorts an array using a case insensitive "natural order" algorithm |
natsort() | Sorts an array using a "natural order" algorithm |
next() | Advance the internal array pointer of an array |
pos() | Alias of current() |
prev() | Rewinds the internal array pointer |
range() | Creates an array containing a range of elements |
reset() | Sets the internal pointer of an array to its first element |
rsort() | Sorts an array in descending order. |
shuffle() | Shuffles an array |
sizeof() | Alias of count() |
sort() | Sorts an array in ascending order. |
uasort() | Sorts an associative array using a user-defined comparison function, according to the value. |
uksort() | Sorts an associative array using a user-defined comparison function, according to the key. |
usort() | Sorts an array using a user-defined comparison function. |