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 PHP Arrays and Control Structures PHP Arrays Multidimensional Arrays

Graham Tonelli
Graham Tonelli
11,968 Points

What's wrong here?

Not quite sure how I've coded this wrong. Additionally the error that comes up is that I shouldn't be modifying the code in the way that I was directed to in the question.

index.php
<?php
//edit this array
$contacts = array(
  array(
    'name' => 'Alena Holligan',
    'email' => 'alena.holligan@teamtreehouse.com'  
  ),
  array(
    'name' => 'Dave McFarland',
    'email' => 'dave.mcfarland@teamtreehouse.com'
  ),
  array(
    'name' => 'Treasure Porth',
    'email' =>'treasure.porth@teamtreehouse.com'
  ),
  array(
    'name' => 'Andrew Chalkley',
    'email' => 'andrew.chalkley@teamtreehouse.com'
  )
);

echo "<ul>\n";
//$contacts[0] will return 'Alena Holligan' in our simple array of names.
echo "<li>$contacts[0]['name'] : $contacts[0]['email']</li>\n";
echo "<li>$contacts[1]['name'] : $contacts[1]['email']</li>\n";
echo "<li>$contacts[2]['name'] : $contacts[2]['email']</li>\n";
echo "<li>$contacts[3]['name'] : $contacts[3]['email']</li>\n";
echo "</ul>\n";
Graham Tonelli
Graham Tonelli
11,968 Points

I have also done this to try to eliminate any possible syntax errors:

<?php
//edit this array
$contacts = array(
  array(
    'name' => 'Alena Holligan',
    'email' => 'alena.holligan@teamtreehouse.com'  
  ),
  array(
    'name' => 'Dave McFarland',
    'email' => 'dave.mcfarland@teamtreehouse.com'
  ),
  array(
    'name' => 'Treasure Porth',
    'email' =>'treasure.porth@teamtreehouse.com'
  ),
  array(
    'name' => 'Andrew Chalkley',
    'email' => 'andrew.chalkley@teamtreehouse.com'
  )
);

echo "<ul>\n";
//$contacts[0] will return 'Alena Holligan' in our simple array of names.
echo "<li>";
echo $contacts[0]['name'];
echo ":";
echo $contacts[0]['email'];
echo "</li>\n";
echo "<li>";
echo $contacts[1]['name'];
echo ":";
echo $contacts[1]['email'];
echo "</li>\n";
echo "<li>";
echo $contacts[2]['name'];
echo ":";
echo $contacts[2]['email'];
echo "</li>\n";
echo "<li>";
echo $contacts[3]['name'];
echo ":";
echo $contacts[3]['email'];
echo "</li>\n";
echo "</ul>\n";

1 Answer

Umesh Ravji
Umesh Ravji
42,386 Points

Hi there Graham, if you take a look at the preview, it's telling you the issue there

Notice: Array to string conversion in index.php on line 12 Notice: Array to string conversion in index.php on line 12 Array['name'] : Array['email']

Just make sure that your variables are surrounded by curly braces to fix this.

<?php
echo "<ul>\n";
echo "<li>{$contacts[0]['name']} : {$contacts[0]['email']}</li>\n";
echo "<li>{$contacts[1]['name']} : {$contacts[1]['email']}</li>\n";
echo "<li>{$contacts[2]['name']} : {$contacts[2]['email']}</li>\n";
echo "<li>{$contacts[3]['name']} : {$contacts[3]['email']}</li>\n";
echo "</ul>\n";

Alternatively, you can use string concatenation.

[Edit] How come my syntax highlighting isn't as neat?

Julian Gutierrez
Julian Gutierrez
19,201 Points

*Edited markdown, you needed to add the opening php tag for syntax highlighting to work. -JG