You are probably familiar with numerically indexed arrays if you've used any programming language, but unless you use PHP or Perl, you might not have seen associative arrays before. Associative arrays allow you to use more useful values as the index. This chapter will help you to understand the use of arrays in PHP.

This chapter is from the book

This chapter is from the book

This chapter shows you how to use an important programming construct: arrays. The variables used in the previous chapters were scalar variables, which store a single value. An array is a variable that stores a set or sequence of values. One array can have many elements, and each element can hold a single value, such as text or numbers, or another array. An array containing other arrays is known as a multidimensional array.

PHP supports both numerically indexed and associative arrays. You are probably familiar with numerically indexed arrays if you've used any programming language, but unless you use PHP or Perl, you might not have seen associative arrays before. Associative arrays allow you to use more useful values as the index. Rather than each element having a numeric index, it can have words or other meaningful information.

In this chapter, you continue developing the Bob's Auto Parts example using arrays to work more easily with repetitive information such as customer orders. Likewise, you write shorter, tidier code to do some of the things you did with files in the preceding chapter.

Key topics covered in this chapter include

Numerically indexed arrays

Non-numerically indexed arrays

Array operators

Multidimensional arrays

Array sorting

Array functions

What Is an Array?

You learned about scalar variables in Chapter 1, "PHP Crash
Course." A scalar variable is a named location in which to store a value;
similarly, an array is a named place to store a set of values, thereby
allowing you to group scalars.

Bob's product list is the array for the example used in this chapter. In
Figure 3.1, you can see a list of three products stored in an array format.
These three products are stored in a single variable called $products.
(We describe how to create a variable like this shortly.)

After you have the information as an array, you can do a number of useful
things with it. Using the looping constructs from Chapter 1, you can save work
by performing the same actions on each value in the array. The whole set of
information can be moved around as a single unit. This way, with a single line
of code, all the values in the array can be passed to a function. For example,
you might want to sort the products alphabetically. To achieve this, you could
pass the entire array to PHP's sort() function.

The values stored in an array are called the array elements. Each
array element has an associated index (also called a key) that is
used to access the element. Arrays in most programming languages have
numericalindices that typically start from zero or one.

PHP allows you to use numbers or strings as the array indices. You can use
arrays in the traditional numerically indexed way or set the keys to be whatever
you like to make the indexing more meaningful and useful. (This approach may be
familiar to you if you have used associative arrays or maps in other programming
languages.) The programming approach may vary a little depending on whether you
are using standard numerically indexed arrays or more interesting index
values.

We begin by looking at numerically indexed arrays and then move on to using
user-defined keys.