FAQ: Introduction to PHP Functions - Return Statements

This community-built FAQ covers the “Return Statements” exercise from the lesson “Introduction to PHP Functions”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Learn PHP

FAQs on the exercise Return Statements

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

Out of curiosity, why does the assignment of a function to a variable output the echoed string inside the function?

I understand functions, how they work, why they’re used, etc. I just don’t follow why the sheer act of assigning it to a variable triggers the echoed string. You’d think that, like the return value, the string would only show when you called the function.

Could someone shed some light on that for me? Thanks!

3 Likes

As this question has remained unanswered for the past month, it deserves further investigation, so I re-upped your post.

Please post a link to the exercise in question, in a reply, and we can attempt to get to the bottom of this. Thanks.

I have the same question :slight_smile: Could somebody explain please?

Let’s start with a link to the exercise, please.

The exercise in question is: https://www.codecademy.com/courses/learn-php/lessons/introduction-to-php-functions/exercises/using-return-statements?action=resume_content_item

Ex:
function printNumberReturnString()
{
echo 18;
return “eighteen”;
}

$my_num = printNumberReturnString();
echo $my_num;

And it displays: 18eighteen

echo does not include a newline, so the pencil stays where it last ended.

SERP: php echo newline

I am also wondering the same. Not why the string and return are not separate, but why they are showing up for seemingly different reasons. The return is being printed because it was brought forth with the echo command, but the string was somehow printed just by declaring the function as a variable. I haven’t seen anything print just from it being declared thus far. Why is it able to do that? Thanks!

I have the same question when (half way through this exercise) I run:

function printStringReturnNumber()
{
echo "Next birthday you will be ";
return 42;
}
$my_num = printStringReturnNumber();

“Next birthday you will be” is displayed. However at no point in the code do I invoke the function printStringReturnNumber() so why is anything printed at all?

It is invoked as the right side of the assignment is evaluated and the outcome assigned. Since it is invoked, the echo action takes place, and $my_num will now be 42.

Got it - Thanks.

In defining $my_num the function is invoked. This becomes clearer in the following exercises…

1 Like