Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

PHP Build a Basic PHP Website (2018) Listing and Sorting Inventory Items Array Keys

Why is my code wrong?

In my understanding of the excercise I am done, I don't know why it's wrong?

index.php
<?php

$books["978-0743261690"] = "Gilgamesh";
$books["978-0060931957"] = "The Odyssey";
$books["978-0192840509"] = "Aesop's Fables";
$books["978-0520227040"] = "Mahabharta";
$books["978-0393320978"] = "Beowulf";

?><html>
<head>
    <title>Five Great Books</title>
</head>
<body>
    <h1>Five Great Books</h1>
    <ul>
        <?php foreach($books as $key => $book) { $isbn = $key; ?>
            <li><?php echo $book; ?></li>
        <?php } ?>
    </ul>
</body>
</html>

2 Answers

Spenser Hale
Spenser Hale
18,535 Points

Hello Rodrigo Vega,

TLDR: Simply change $key to $isnb and remove your extra assignment and you will pass the step.

<?php foreach($books as $isbn => $book) { ?>
    <li><?php echo $book; ?></li>
<?php } ?>

For step one, you are assigned to name the key variable $isnb. I see you understand the foreach loop $key and $value placement. However, in the challenge, $value is replaced with $book, and just like value, you also can rename it, ie $key to $isnb.

I do want to mention what you wrote would work in practice however is it less efficient since the foreach can reassign $isnb for you each loop and instead you have extra variable assignment to accomplish.

Of course! Thank you very much I got confused in the wording of the excercise.

Spenser Hale
Spenser Hale
18,535 Points

No worries Rodrigo, glad I was able to help. I would be useful to the community if you select my answer as best answer because currently this discussion is still marked unresolved, and point others to the solution.