FAQ: Introduction to PHP Functions - Variable Scope

This community-built FAQ covers the “Variable Scope” 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 Variable Scope

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!
You can also find further discussion and get answers to your questions over in Language Help.

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

Need broader help or resources? Head to Language Help and Tips and Resources. If you are wanting feedback or inspiration for a project, check out Projects.

Looking for motivation to keep learning? Join our wider discussions in Community

Learn more about how to use this guide.

Found a bug? Report it online, or post in Bug Reporting

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!

Please update this module to make logical sense. There are 2 variables, one defined by Codecademy and one not. Only one is used to find the proper ‘solution’ . Why list the ‘concept’ variable if it’s not to be used at all? The ‘concept’ variable should be replaced with the ‘topic’ variable for clarity if nothing else.

2 Likes

Yes, I don’t understand at all what’s asked here.

It’s confusing for me too as well. Maybe we’re using $concept instead of $topic to see more clearly how do passing arguments work. Thing I don’t understand is that how is $language local variable. PHP is little weird

I agree, confusing as ■■■■ also, I can see some bad “tutorial code creep”, almost all courses are like this, they throw sticks in the wheel to confuse you, to trap you. It’s bad teaching. First teach how to walk and not run. You don’t put up 400 meters hurdles for a baby learning how to walk…I think all these little tricks should be omitted on every lesson, until student reaches at least intermediate level.

I don’t understand this task. How can I solve it? I don’t see any logic. I broke my whole head. Please help me.

The initial code is as follows:

<?php

$language = "PHP";
$topic = "scope";

function generateLessonName($language, $concept)
{
  return $language . ": " . $concept;
}

echo generateLessonName($language, $topic);

The narrative introduces the global keyword which allows us to access a variable in global scope from within a function. The instructions tell us to remove the $language parameter and write it into a global statement. We would also remove $language from the function call argument.

Note the below, in which we carry out those instructions.

<?php

$language = "PHP";
$topic = "scope";

function generateLessonName($concept)
{
  global $language;
  return $language . ": " . $concept;
}

echo generateLessonName($topic);    //  PHP: scope
1 Like

What pisses me off, its that this course never talked about GLOBAL, now all of sudden we have to use the global keyword, like for return keyword we had about 5 exercises

they have mentioned it in “Variable scope”, please slowdown