Recorrido de objetos

PHP proporciona una manera de definir los objetos de manera que se pueda recorrer una lista de miembros, por ejemplo con una estructura foreach. Por omisión, todas las propiedades visibles serán utilizadas para el recorrido.

Ejemplo #1 Recorrido de objeto simple

<?php
class MyClass
{
public
$var1 = 'valor 1';
public
$var2 = 'valor 2';
public
$var3 = 'valor 3';

protected
$protected = 'variable protegida';
private
$private = 'variable privada';

function
iterateVisible() {
echo
"MyClass::iterateVisible:\n";
foreach (
$this as $key => $value) {
print
"$key => $value\n";
}
}
}

$class = new MyClass();

foreach(
$class as $key => $value) {
print
"$key => $value\n";
}
echo
"\n";

$class->iterateVisible();

El resultado del ejemplo sería:

var1 => valor 1
var2 => valor 2
var3 => valor 3

MyClass::iterateVisible:
var1 => valor 1
var2 => valor 2
var3 => valor 3
protected => variable protegida
private => variable privada

Como muestra la salida, la iteración foreach recorrió todas las propiedades visibles que pudieron ser accedidas.