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 Simple PHP Application Integrating with PayPal Array Keys

i have modified the foreach loop but still its saying its wrong

The array below contains a list of books. Each element in the array has the book’s title as its value and the ISBN as its key. Right now, the page is only displaying the book titles in the browser. In this code challenge, we will modify the page to also display each book’s ISBN. First, we need to make the keys from the books array accessible inside the foreach loop. 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.

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

<li><?php echo $book . " " . "($isbn)"; ?></li>

3 Answers

geoffrey
geoffrey
28,724 Points

You were close, but what you need to do is this to access the keys of your associative array.

<?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 $isbn => $book) { ?>
            <li><?php echo $book." ".$isbn; ?></li>
        <?php } ?>
    </ul>
</body>
</html>
Sam Donald
Sam Donald
36,305 Points

You're all close but it asks for the $isbn to display in parentheses, like so

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

Which will output Gilgamesh (978-0743261690)