An array is a data structure that stores one or more values in a single value.
PHP - a numerically indexed array
If this is your first time seeing an array, then you may not quite understand the concept of an array. Imagine that you own a business and you want to store the names of all your employees in a PHP variable. How would you go about this? It wouldn't make much sense to have to store each name in its own variable. Instead, it would be nice to store all the employee names inside of a single variable. This can be done, and we show you how below.
$employee_array = "Bob"; $employee_array = "Sally"; $employee_array = "Charlie"; $employee_array = "Clare";
In the above example we made use of the key / value structure of an array. The keys were the numbers we specified in the array and the values were the names of the employees. Each key of an array represents a value that we can manipulate and reference. The general form for setting the key of an array equal to a value is:
- $array[key] = value;
If we wanted to reference the values that we stored into our array, the following PHP code would get the job done.
Note: As you may have noticed from the above code example, an array's keys start from 0 and not 1. This is a very common problem for many new programmers who are used to counting from 1 and lead to "off by 1" errors. This is just something that will take experience before you are fully comfortable with it.
echo "Two of my employees are " . $employee_array . " & " . $employee_array; echo "<br />Two more employees of mine are " . $employee_array . " & " . $employee_array;
Two of my employees are Bob & Sally Two more employees of mine are Charlie & Clare
PHP arrays are quite useful when used in conjunction with loops, which we will talk about in a later lesson. Above we showed an example of an array that made use of integers for the keys (a numerically indexed array). However, you can also specify a string as the key, which is referred to as an associative array.
PHP - Associative arrays
In an associative array a key is associated with a value. If you wanted to store the salaries of your employees in an array, a numerically indexed array would not be the best choice. Instead, we could use the employees names as the keys in our associative array, and the value would be their respective salary.
$salaries["Bob"] = 2000; $salaries["Sally"] = 4000; $salaries["Charlie"] = 600; $salaries["Clare"] = 0; echo "Bob is being paid - $" . $salaries["Bob"] . "<br />"; echo "Sally is being paid - $" . $salaries["Sally"] . "<br />"; echo "Charlie is being paid - $" . $salaries["Charlie"] . "<br />"; echo "Clare is being paid - $" . $salaries["Clare"];
Bob is being paid - $2000 Sally is being paid - $4000 Charlie is being paid - $600 Clare is being paid - $0