Storing Data in Arrays

Storing a value in an array will create the array if it didn’t already exist, but trying to retrieve a value from an array that hasn’t been defined won’t create the array. For example:

// $addresses not defined before this point
echo $addresses[0];                    // prints nothing
echo $addresses;                       // prints nothing

$addresses[0] = "spam@cyberpromo.net";
echo $addresses;                       // prints "Array"

Using simple assignment to initialize an array in your program can lead to code like this:

$addresses[0] = "spam@cyberpromo.net";
$addresses[1] = "abuse@example.com";
$addresses[2] = "root@example.com";

That’s an indexed array, with integer indices beginning at 0. Here’s an associative array:

$price['gasket'] = 15.29;
$price['wheel'] = 75.25;
$price['tire'] = 50.00;

An easier way to initialize an array is to use the array() construct, which builds an array from its arguments. This builds an indexed array, and the index values (starting at 0) are created automatically:

$addresses = array("spam@cyberpromo.net", "abuse@example.com", "root@example.com");

To create an associative array with array(), use the => symbol to separate indices (keys) from values:

$price = array(
  'gasket' => 15.29,
  'wheel'  => 75.25,
  'tire'   => 50.00
);

Notice the use of whitespace and alignment. We could have bunched up the code, but it wouldn’t have been as easy to read (this is equivalent to the previous code sample), or as easy to add or remove values:

$price = array('gasket' => 15.29, 'wheel' => 75.25, 'tire' => 50.00);

You can ...

Get Programming PHP, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.