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 trialKianna Aether
2,390 Points"Your are not using the variable you defined in the foreach loop."
So, the code attached has been the only way I've been able to print the flavors to the screen successfully. However, I am told this is not the way to do it as I am "not using the variable I defined in the foreach loop."
When I change 'name' to $value, I am told I cannot use the $flavors array in my output, and I get an illegal offset type warning in the preview.
If I remove $flavors, then I get no output showing at all. Same thing if i put something like echo $id[$value].
What am I doing wrong? Would appreciate anyone's help so I can wrap my brain around this!
<?php
$flavors = array();
$flavors[] = array("name" => "Cookie Dough", "in_stock" => true);
$flavors[] = array("name" => "Vanilla", "in_stock" => false);
$flavors[] = array("name" => "Avocado Chocolate", "in_stock" => false);
$flavors[] = array("name" => "Bacon Me Crazy", "in_stock" => true);
$flavors[] = array("name" => "Strawberry", "in_stock" => false);
//add your code below this line
foreach ($flavors as $id => $value) {
echo $flavors[$id]['name'];
}
?>
2 Answers
Mei Lee
3,339 PointsYou're iterating the $flavors array. $id is the key and $value is the value. In this case, $value is also an array. To access the array by key, you may do $value['name'] or $value['in_stock'] depending on what you're looking for.
Kianna Aether
2,390 PointsThank you! These arrays were getting a little intense for me, but your answer definitely made some stuff click! I appreciate it!