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 trialNicklas Larsson Hanzén
2,234 PointsNeed help with adding key to array value.
I am having a mental breakdown over this. I'm taking the PHP course and to be honest i have no interest in this paypal crap that's implemented into it.
Nevertheless i am a perfectionist and i need to figure this out to get the badge for this part of the course.
The task is as follows: 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.
If anyone could help me or just give me a hint as to what i need to do and/or google i would appreciate it so much!
<?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; ?></li>
<?php } ?>
</ul>
</body>
</html>
1 Answer
Nicklas Larsson Hanzén
2,234 PointsOMFG. I figured it out. It was so easy! I'll put the answer here for anyone who might need it:
<?php foreach($books as $isbn => $book) { ?>
<li><?php echo $book; ?></li>
<?php } ?>
I blame having studied all day and it being late here in Sweden for my stupidity. :D
Jayden Spring
8,625 PointsJayden Spring
8,625 PointsNicklas,
The syntax for a foreach look when you are iterating through a associative array is as follows for future reference;
foreach( $array as $key => $value)
Therefore in your first post you were actually getting the key with $book and when you swapped it around in your sesond it was working.
Jayden
Nicklas Larsson Hanzén
2,234 PointsNicklas Larsson Hanzén
2,234 PointsThank you so much Jayden. It makes a whole lot more sense now!
Jayden Spring
8,625 PointsJayden Spring
8,625 Pointshttp://php.net/manual/en/book.array.php
If you have a look here, you will see PHP comes with some very powerful array functions and sorting methods. Good luck!