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

Billy Nguyen
Billy Nguyen
975 Points

PHP Arrays and Control Structures: Multidimensional Array Coding Challenge

I am struck on Challenge Task 3 of 3 on the Multidimensional Array Coding Challenge of the PHP Arrays and Control Structures course. They are wanting me to replace the names and emails of their original code with my multidimensional array variable. So the original code was

echo "<ul>\n"; echo ā€œ<li>Alena Holligan : alena.holligan@teamtreehouse.com</li>\nā€; echo "<li>Dave McFarland : dave.mcfarland@teamtreehouse.com</li>\n"; echo "<li>Treasure Porth : treasure.porth@teamtreehouse.com</li>\n"; echo "<li>Andrew Chalkley : andrew.chalkley@teamtreehouse.com</li>\n"; echo "</ul>\n";

And the best I could come up was

echo $contacts[0]['name'] . " : " . $contacts[0]['email'] . "\n"; echo $contacts[1]['name'] . " : " . $contacts[1]['email'] . "\n"; echo $contacts[2]['name'] . " : " . $contacts[2]['email'] . "\n"; echo $contacts[3]['name'] . " : " . $contacts[3]['email'] . "\n"; echo $contacts[4]['name'] . " : " . $contacts[4]['email'] . "\n";

But they won't accept it as correct. Can someone help me?

index.php
<?php
//edit this array
$contacts[] = [
  'name' => "Alena Holligan",
  'email' => "alena.holligan@teamtreehouse.com",
  ];

$contacts[] = [
  'name' => "Dave McFarland",
  'email' => "dave.mcfarland@teamtreehouse.com",
  ];

$contacts[] = [
  'name' => "Treasure Porth",
  'email' => "treasure.porth@teamtreehouse.com",
  ];

$contacts[] = [
  'name' => "Andrew Chalkley",
  'email' => "andrew.chalkley@teamtreehouse.com",

  ];


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

1 Answer

i think the problem must be with the output, the contacts should be in a list .

$contacts = array();

$contacts[] = ['name'=>'Alena Holligan',
                    'email'=>'alena.holligan@teamtreehouse.com'
                   ];

$contacts[] = ['name'=>'Dave McFarland',
                    'email'=>'dave.mcfarland@teamtreehouse.com'
                   ];

$contacts[] = ['name'=>'Treasure Porth',
                    'email'=>'treasure.porth@teamtreehouse.com'
                  ];

$contacts[] = ['name'=>'Andrew Chalkley',
                    'email'=>'andrew.chalkley@teamtreehouse.com'
                   ];

//here i think is where your problem starts 
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";
Billy Nguyen
Billy Nguyen
975 Points

Thank you George, that was it!

edward wong
edward wong
3,349 Points

How come the html tags are within double quotes? I thought they are only applied to strings?

Secondly, when echoing the values, why are the values separated rather than putting them together? (i.e. $contacts[0]['name', 'email'])