PHP array() Function
❮ PHP Array Reference
Create an indexed array named $cars, assign three elements to it, and then print a text containing the array values:
echo "I like " . $cars . ", " . $cars . " and " . $cars . ".";
Definition and Usage
The array() function is used to create an array.
In PHP, there are three types of arrays:
- Indexed arrays - Arrays with numeric index
- Associative arrays - Arrays with named keys
- Multidimensional arrays - Arrays containing one or more arrays
Syntax for indexed arrays:
Syntax for associative arrays:
|key||Specifies the key (numeric or string)|
|value||Specifies the value|
|Return Value:||Returns an array of the parameters|
|Changelog:||As of PHP 5.4, it is possible to use a short array syntax, which replaces array() with . |
E.g. $cars=["Volvo","BMW"]; instead of $cars=array("Volvo","BMW");
Create an associative array named $age:
echo "Peter is " . $age['Peter'] . " years old.";
Loop through and print all the values of an indexed array:
Loop through and print all the values of an associative array:
foreach($age as $x=>$x_value)
echo "Key=" . $x . ", Value=" . $x_value;
Create a multidimensional array:
// A two-dimensional array:
❮ PHP Array Reference
You can't assign something by reference unless you are referencing something that already exists. Equally, you can't copy something that doesn't exist.
So this code:
...neither copies or references - it just creates a new array fills it with values, because the values were specified literally.
However, this code:
...copies the values from , and into an array1. The variables used to initialise the array values still exist in their own right, and can be modified or destroyed without affecting the values in the array.
...creates an array of references to , and (notice the ). If, after running this code, I modify - let's say I give it a value of 4 - it will also modify the first value in the array. So when you use the array, will now contain .
See this section of the manual for more information of how reference work in PHP.
1Depending on the types and values of the variables used as the array members, the copy operation may not happen at the time of the assignment even when assigned by-value. Internally PHP uses copy-on-write in as many situations as possible for reasons of performance and memory efficiency. However, in terms of the behaviour in the context of your code, you can treat it as a simple copy.