Array and Object Property Iteration
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: Lerdorf
In 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: Lerdorf
The 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'; ...
Get Upgrading to PHP 5 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.