Debug/Learn Recursion of an Object
| From: | Graham Anderson | Date: | Thu, 18 May 2006 18:11:48 +0000 |
| Subject: | Debug/Learn Recursion of an Object | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-236414@lists.php.net to get a copy of this message | ||
I am a bit new to Objects and Recursion
Any push in the right direction is appreciated
Generated from Pear's mimedecode, I have an object whose print_r is:
http://www.siren.cc/dev/object.txt
The function below will correctly traverse the object and find the 'correct' node.
Unfortunately, it is a little beyond my understanding at present. :(
Is there a way to debug the below function to echo how it is traversing the object ?
For example, how would I echo the key names and values while it is traversing ?
The hope is that something will click and I'll finally wrap my brain around this
many thanks
function getBody(&$part, $primary = 'text', $secondary = 'plain')
{
$body = false;
if (is_array($part)) {
foreach($part as $subpart) {
if (! $body = getBody($subpart, $primary, $secondary)) {
continue;
} else {
return $body;
}
}
} else {
if (isset($part->parts)) {
return getBody($part->parts, $primary, $secondary);
} else {
if ($part->ctype_primary == $primary && $part->ctype_secondary == $secondary) {
return($part->body);
}
}
}
return $body;
}