PHP PHP Arrays and Control Structures PHP Loops Looping with PHP

Kianna Aether
Kianna 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!


$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

You'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
Kianna Aether
2,390 Points

Thank you! These arrays were getting a little intense for me, but your answer definitely made some stuff click! I appreciate it!