Page 87 - Open Soource Technologies 304.indd
P. 87
Open Source Technologies
Notes print “ is quite young\n”;
This example prints
Rati is Quite Young
As previously mentioned, using the $arr[] syntax is not supported when reading
array indexes, but only when writing them.
Accessing Nested Arrays (or Multi-Dimensional Arrays) When accessing nested arrays, you
can just add as many square brackets as required to reach the relevant value. The following is
an example of how you can declare nested arrays:
$arr = array(1 => array(“name” => “John”, “age” => 28), array(“name”
→=> “Barbara”, “age” => 67))
You could achieve the same result with the following statements:
$arr[1][“name”] = “John”;
$arr[1][“age”] = 28;
$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 John’s age, the following statement does the trick:
print $arr[1][“age”];
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(“John”, “Barbara”, “Bill”, “Nancy”);
print “The players are:\n”;
foreach ($players as $key => $value) {
print “#$key = $value\n”;
82 LOVELY PROFESSIONAL UNIVERSITY