Not sure what you are looking at doing, since you don't have any conditional control in your example. At the 'end' of a function you return the result, once it reaches the end the recursive 'stack', it will step up each time and return the result. Generally if you want to return a result from a recursive function you would append a result from a function call within the function, or run against a static variable.
$result = '';
foreach($something AS $nothing)
$result .= recurseSomething($nothing);
else if (is_string($something))
$result .= strtoupper($something);
Recursion is all about the conditions you have placed upon it. Without knowing that, I can't really recommend exactly what you should do to preform a result.
Remember, you can always run against a static variable which is a reference to a calling scoped variable - that will actually eliminate your need to perform a return.