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
   116   117   118   119   120   121   122   123   124   125   126