Page 121 - Open Soource Technologies 304.indd
P. 121
Open Source Technologies
Notes $arr[2][“name”] = “Barbara”;
$arr[2][“age”] = 67;
Reading a nested array value is trivial using the same notation. For example, if you want to
print Peter’s age, the following statement does the trick:
print $arr[1][“age”];
7.8.6 Traversing Arrays Using Foreach
There are a few different ways of iterating over an array. The most elegant way is the foreach()
loop construct.
The general syntax of this loop is
foreach($array as [$key =>] [&] $value)
...
$key is optional, and when specified, it contains the currently iterated value’s key, which can
be either an integer or a string value, depending on the key’s type.
Specifying and for the value is also optional, and it has to be done if you are planning to modify
$value and want it to propagate to $array. In most cases, you won’t want to modify the $value
when iterating over an array and will, therefore, not need to specify it.
Here’s a short example of the foreach() loop:
$players = array(“Peter”, “Barbara”, “Bill”, “Nancy”);
print “The players are:\n”;
foreach ($players as $key => $value) {
print “#$key = $value\n”;
}
The output of this example is
The players are:
#0 = Peter
#1 = Barbara
#2 = Bill
#3 = Nancy
Here’s a more complicated example that iterates over an array of people and marks which
person is considered old and which one is considered young:
$people = array(1 => array(“name” => “Peter”, “age” => 28),
| →array(“name” => “Barbara”, “age” => 67));
foreach ($people as &$person) {
if ($person[“age”] >= 35) {
116 LOVELY PROFESSIONAL UNIVERSITY