In this tutorial you'll learn how to store multiple values in a single variable in PHP.
What is PHP Arrays
Arrays are complex variables that allow us to store more than one value or a group of values under a single variable name. Let's suppose you want to store colors in your PHP script. Storing the colors one by one in a variable could look something like this:
But what, if you want to store the states or city names of a country in variables and this time this not just three may be hundred. It is quite hard, boring, and bad idea to store each city name in a separate variable. And here array comes into play.
Types of Arrays in PHP
There are three types of arrays that you can create. These are:
- Indexed array — An array with a numeric key.
- Associative array — An array where each key has its own specific value.
- Multidimensional array — An array containing one or more arrays within itself.
Indexed Arrays
An indexed or numeric array stores each array element with a numeric index. The following examples shows two ways of creating an indexed array, the easiest way is:
Note: In an indexed or numeric array, the indexes are automatically assigned and start with 0, and the values can be any data type.
This is equivalent to the following example, in which indexes are assigned manually:
Associative Arrays
In an associative array, the keys assigned to values can be arbitrary and user defined strings. In the following example the array uses keys instead of index numbers:
The following example is equivalent to the previous example, but shows a different way of creating associative arrays:
Multidimensional Arrays
The multidimensional array is an array in which each element can also be an array and each element in the sub-array can be an array or further contain array within itself and so on. An example of a multidimensional array will look something like this:
Or
HERE,
- “$variable_name…” is the name of the variable
- “[n]” is the access index number of the element
- “value” is the value assigned to the array element.
Let’s now look at an example of a numeric array.
Suppose we have 5 movies that we want to store in array variables.
We can use the example shown below to do that.
Here,
Each movie is given an index number that is used to retrieve or modify its value. Observe the following code-
Output:
Once upon a time in China Eastern Condors
As you can see from the above examples, working with arrays in PHP when dealing with multiple values of the same nature is very easy and flexible.
Alternatively, the above array variables can also be created using the following code.
Output:
Replacement Killers
Associative array differ from numeric array in the sense that associative arrays use descriptive names for id keys.
Below is the syntax for creating associative array in php.
HERE,
- “$variable_name…” is the name of the variable
- “[‘key_name’]” is the access index number of the element
- “value” is the value assigned to the array element.
Let’s suppose that we have a group of persons, and we want to assign the gender of each person against their names.
We can use an associative array to do that.The code below helps us to do that.
HERE,
Output:
Array [ [Mary] => Female [John] => Male [Mirriam] => Female ] Mary is a Female
Associative array are also very useful when retrieving data from the database.
The field names are used as id keys.
PHP Multi-dimensional arrays
These are arrays that contain other nested arrays.
The advantage of multidimensional arrays is that they allow us to group related data together.
Let’s now look at a practical example that implements a php multidimensional array.
The table below shows a list of movies by category.
Pink Panther | Comedy |
John English | Comedy |
Die Hard | Action |
Expendables | Action |
The Lord of the rings | Epic |
Romeo and Juliet | Romance |
See no evil hear no evil | Comedy |
The above information can be represented as a multidimensional array. The code below shows the implementation.
HERE,
Output:
Array [ [comedy] => Array [ [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ] [action] => Array [ [0] => Die Hard [1] => Expendables ] [epic] => Array [ [0] => The Lord of the rings ] [Romance] => Array [ [0] => Romeo and Juliet ] ]
Another way to define the same array is as follows
Output:
Pink Panther
Note: the movies numeric array has been nested inside the categories associative array
PHP Arrays: Operators
x + y | Union | Combines elements from both arrays | Array[[id] => 1 [value] => 10] | |
X == y | Equal | Compares two arrays if they are equal and returns true if yes. | True or 1 | |
X === y | Identical | Compares both the values and data types | False or 0 | |
X != y, x y | Not equal | False or 0 | ||
X !== y | Non identical | True or 1 |
PHP Array Functions
Count function
The count function is used to count the number of elements that an php array contains. The code below shows the implementation.
Output:
3
is_array function
The is_array function is used to determine if a variable is an array or not. Let’s now look at an example that implements the is_array functions.
Output:
1
Sort
This function is used to sort arrays by the values.
If the values are alphanumeric, it sorts them in alphabetical order.
If the values are numeric, it sorts them in ascending order.
It removes the existing access keys and add new numeric keys.
The output of this function is a numeric array
Output:
Array [ [0] => Female [1] => Female [2] => Male ]
ksort
This function is used to sort the array using the key. The following example illustrates its usage.
Output:
Array [ [John] => Male [Mary] => Female [Mirriam] => Female ]
asort
This function is used to sort the array using the values. The following example illustrates its usage.
Output:
Array [ [Mary] => Female [Mirriam] => Female [John] => Male ]
Why use arrays?
- Contents of Arrays can be stretched,
- Arrays easily help group related information such as server login details together
- Arrays help write cleaner code.
Summary
- Arrays are special variables with the capacity to store multi values.
- Arrays are flexibility and can be easily stretched to accommodate more values
- Numeric arrays use numbers for the array keys
- PHP Associative array use descriptive names for array keys
- Multidimensional arrays contain other arrays inside them.
- The count function is used to get the number of items that have been stored in an array
- The is_array function is used to determine whether a variable is a valid array or not.
- Other array functions include sort, ksort, assort etc.