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

What is wrong with my code for this exercise?

Please see my code and advice. I do not see anything wrong, maybe the system is expecting another way to do it? or Am I misunderstanding the task I have to do?

Thank you

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) { ?>
            <?php $isbn = $key; ?>
            <li><?php echo $book; ?></li>
        <?php } ?>
    </ul>
</body>
</html>

1 Answer

Joel Bardsley
Joel Bardsley
31,235 Points

Hi Guillermo,

Note the wording of the question: Modify the foreach command so that, as it loops through the books, it loads the ISBN for each book into a working variable called $isbn.

While the code you've posted does work in practice, it is unnecessary for this question to go through the extra step of $isbn = $key when you could instead declare the $isbn variable in the foreach loop itself:

<?php
foreach ($books as $isbn => $book) {

I understand the PHP code challenges can be particularly picky, even if your output is correct, so if all else fails double check what the challenge is asking you to do. Good luck with the rest of the course.

Hi Joel,

Thank you!

Got it.