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

David Pike
David Pike
3,445 Points

building a basic php website, add an element to an array

I think this is the right way but cant seem to get it right and I've watched the movie several times.

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>

2 Answers

Bob McCarty
PLUS
Bob McCarty
Courses Plus Student 16,618 Points

David,

I suggest the following code to pass the challenges assignment task.

<?php
  $movie = [];
  $movie[title] = "The Empire Strikes Back";
?>
David Pike
David Pike
3,445 Points

Thank you this worked.

Maximillian Fox
PLUS
Maximillian Fox
Courses Plus Student 9,236 Points

There are a couple of ways you can approach the answer here - Bob's answer above is probably the best approach in this scenario (although you need to include quotes within the array key), but for completeness here are all possible methods so you can pick the one that works for you :)

Setting up an array using PHP's array() function You can define an array, then add to it like this

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

or just add it when you define the array, like this:

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

Using the square brackets to set up an array Your answer uses this method, so here's the solution using this approach:

<?php
$movie = [];
$movie['title'] = 'The Empire Strikes Back';
?>

Or, define it within the array as you set it up (PHP version 5.4 or later, will cause fatal error on earlier versions)

<?php
$movie = ['title' => 'The Empire Strikes Back'];
?>