Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialScott James
4,298 PointsPHP Code Challenege on Forms, Arrays, and Get Variables
Hi
So in the last quiz there is the following question:
What does the following block of code output?
My Code
$flavors = array("Cake Batter","Cookie Dough");
foreach($flavors as $a => $b) {
echo $a;
exit();
}
So the answer to this comes out as: 01, which I am taking that they are the keys for each of the items in the array?
So when it then asks to "echo $b" why is the answer only "Cake Batter" and not "CakeBatterCookie Dough"?
Thanks
8 Answers
Randy Hoyt
Treehouse Guest TeacherBe sure to notice the exit
command there in the middle of the foreach loop. It stops the rest of the code from processing. The first time through the foreach loop, this code will echo "0" ... and then it will stop.
Does that help?
Scott James
4,298 PointsHi Randy
So are you saying that the answer to the first part of the challenge should be "0"? Because the correct answer according to the challenge is "01"?
Thanks for the reply.
Jason Shillingford
6,443 PointsI got it wrong because I put 'Cake BatterCookie Dough' :P
But I guess because of the exit, it returns 0 like Randy said.
Copy and paste it into your code editor and you'll see it echo's the value 0.
Scott James
4,298 PointsHey Jason
Yeah 0 is what I thought should be the answer, but the only way to move forward is to select the "01" answer.
EDIT: I have just tried the quiz again, and you do have to select the "01" answer to move forward. Does that mean that the answer in that quiz is incorrect?
Thanks
Jason Shillingford
6,443 PointsYeah your right Scott,
The quiz says that 01 is the right answer.
You would only get 01 if you remove the exit();
from the loop.
Scott James
4,298 PointsThanks for the clarification Jason. Thought I was going a bit nuts last night, trying to figure out how you get 01 as the answer!
Randy Hoyt
Treehouse Guest TeacherI don't think there's a quiz question with the code posted above. The question that says echo $a
doesn't have an exit. Only the question with echo $b
has an exit.
Scott James
4,298 PointsRandy, you are 100% correct! How did I miss that!! Well now I know that I have to look out for that exit command!
I have to say it is great to have the staff from Treehouse taking the time to reply to questions on the forum!
Thanks to both Randy & Jason for the replies.