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 trial

PHP Build a Simple PHP Application Integrating with PayPal Array Keys

Becky Castle
Becky Castle
15,294 Points

Modifying code in a foreach loop...

Here's the challenge: "Next, modify the code inside the foreach loop to display the $isbn in parentheses. After the title, add a space, an opening parenthesis, the ISBN, and a closing parenthesis."

So here's the code...

<?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>

<!----- WHERE MY NIGHTMARE STARTS ----->
        <?php foreach($books as $isbn => $book) {   
            echo '<li>';
                echo $book;
                echo "\n";
                echo "(";
                echo $isbn;
                echo ")";
                echo '</li>';
            } ?>
    </ul>
</body>
</html>

In the preview, everything displays as it should, so what am I doing wrong?

Thanks!

4 Answers

You're still adding a new line. The "/n". Not supposed to be there. And you don't have a space after the book title.

This worked for me

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

It doesn't ask you to add a new line. Only a space. :)

Becky Castle
Becky Castle
15,294 Points

Yeaaaah.... I was wondering about that, so I tried it this way:

<body>
    <h1>Five Great Books</h1>
    <ul>
        <?php foreach($books as $isbn => $book) { ?>
            <li><?php echo $book . "\n" . "(" . $isbn . ")"; ?></li>
        <?php } ?>
    </ul>
</body>

But it still doesn't accept my work. It says the formatting wrong...

(Thanks for your input, btw)

Becky Castle
Becky Castle
15,294 Points

Ooooeeeeeewh! Haha... Good point.

Thank you!

No problem, easy to miss seeing the forest for the trees. :)