Another method more efficient
<?php
function get_nodes2($node, $type, &$result)
{
if($node != null)
{
if($node->id == $type)
$result[] = $node;
if($node->child != null)
{
foreach($node->child as $child)
{
get_nodes2($child, $type, &$result);
}
}
}
}
?>
