Yes. The way you are showing this is calling a function as a parameter to another function and this is valid also just as long as the function you are calling returns a valid value for that parameter. Since PHP isn't a typed language this will never cause an error, but you may get unexpected results.
<?php
function number() {
return 5;
}
function character() {
return 'a';
}
function increment(num) {
ret_val = num++;
return ret_val;
}
echo increment(1) . "<br>\n";
echo increment(number()) . "<br>\n";
echo increment(character()) . "<br>\n";
?>
The above code should run without any problems, but you may or may not get the results that you are expecting.