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 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,055 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.