PHP - Arrays
An array is a data structure
that stores one or more values in
a single value. For experienced
programmers it is important to
note that PHP's arrays are
actually maps (each key is mapped
to a 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.
PHP Code:
$employee_array[0] = "Bob";
$employee_array[1] = "Sally";
$employee_array[2] =
"Charlie";
$employee_array[3] = "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.
PHP Code:
echo "Two of my employees are
"
. $employee_array[0] . " & " .
$employee_array[1];
echo "<br />Two more employees
of mine are "
. $employee_array[2] . " & " .
$employee_array[3];
|
Display:
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.
PHP Code:
$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"];
|
Display:
Bob is being paid - $2000
Sally is being paid - $4000
Charlie is being paid - $600
Clare is being paid - $0 |
|