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

Robert Mezzanotte
Robert Mezzanotte
640 Points

I am having a hard time with this one. I feel like its right but not the way you guys like it

I am having a hard time with this one. I feel like its right but not the way you guys like it

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

1 Answer

Benjamin Larson
Benjamin Larson
34,054 Points

You could indeed accomplish the desired effect using the key() function on the $book array, but it would have to be inside the foreach loop, as well as be formatted inside parenthesis exactly how the challenge describes:

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

However, the challenge in this case is very specific about making the keys accessible from WITHIN the foreach loop, meaning you'll need to use the correct syntax that can be found in the PHP Docs: foreach(). The blueprint can be found near the top of the page, you want the syntax that will pull a key and value pair, rather than just the value.