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 Associative Arrays

Luca Derelli
Luca Derelli
146 Points

I don't know what I am doing wrong (task 2 of 7)

I don't know what I am doing wrong (task 2 of 7)

index.php
<?php

$movie = [];
$movie[] = ["title" => "The Empire Strikes Back"];
?>

<h1>Back to the Future (1985)</h1>

<table>
  <tr>
    <th>Director</th>
    <td>Robert Zemeckis</td>
  </tr>
  <tr>
    <th>IMDB Rating</th>
    <td>8.5</td>
  </tr>
  <tr>
    <th>IMDB Ranking</th>
    <td>53</td>
  </tr>
</table>

3 Answers

Codin - Codesmite
Codin - Codesmite
8,600 Points

Matthew's answer is correct, but also as a side note your code was not far off from being correct using PHP5 shorthand array.

This would of also been valid:

<?php

$movie = [];
$movie['title'] = 'The Empire Strikes Back';

?>

This is the PHP 5 shorthand for declaring an empty array (which you got correct):

<?php

$movie = [];

?>

and this is the PHP5 shorthand for array push (which adds the value to the end of the array):

<?php

$movie[] = value;  /* Without Associative Key */
$movie[key] = value;  /* With Associative Key */

?>

This is the more modern way to declare an array, I find it a lot cleaner and easier to read than the old way. But it is not valid if your server's PHP version is less than 5.4 (Which is unlikely nowadays, especially with the recent release of PHP7).

You'd want to do either of these 2 statements:

<?php
$movie = array(
"title" => "The Empire Strikes Back"
);
?>

---or---

<?php
$movie = array();
$movie["title"] = "The Empire Strikes Back";
Luca Derelli
Luca Derelli
146 Points

Thank you Matthew!