July 2004
Intermediate to advanced
350 pages
10h 9m
English
In
PHP you can iterate through all the elements in an array using
foreach. Although other methods are available,
this is the preferred syntax for looping though results:
$person = array('firstname' => 'Rasmus',
'lastname' => 'Lerdorf');
foreach ($person as $key => $value) {
print "$key: $value\n";
}
firstname: Rasmus
lastname: Lerdorf
You
can also use foreach to view an
object’s properties:
class Person {
// hardcode values for demonstration
public $firstname = 'Rasmus';
public $lastname = 'Lerdorf';
}
$person = new Person;
foreach ($person as $property => $value) {
print "$property: $value\n";
}
firstname: Rasmus
lastname: LerdorfIn PHP 5, if an object property cannot be accessed because it is set
as protected or private, then
it will be skipped during iteration.
For example, update Person to include a
private email attribute:
class Person {
// hardcode values for demonstration
public $firstname = 'Rasmus';
public $lastname = 'Lerdorf';
private $email = 'rasmus@php.net';
}
$person = new Person;
foreach ($person as $property => $value) {
print "$property: $value\n";
}
firstname: Rasmus
lastname: LerdorfThe email property is not printed, because you
cannot access it from outside the class, but the results are
different when you do a foreach inside the class.
For instance, add a method named printInfo( ):
class Person { // hardcode values for demonstration public $firstname = 'Rasmus'; public $lastname = 'Lerdorf'; private $email = 'rasmus@php.net'; ...