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

Kat Cuccia
Kat Cuccia
786 Points

I have no clue what this challenge is asking (multidimensional array)

In the PHP Arrays and Control Structures, a challenge instructs: In the code below, we have a simple array of contact names. We want to use the $contacts array to fill in the hardcoded list of names and email addresses. To hold the email as well as the name for each contact, we need a multidimensional array, meaning each person in the contact list will have their own array. The first step is to make each person their own single item ASSOCIATIVE array, using 'name' as the key for these internal arrays. I have literally no idea what it wants me to do. Can somebody please try to explain this better, or maybe give me an example?

index.php
<?php
//edit this array
$contacts = array('Alena Holligan', 'Dave McFarland', 'Treasure Porth', 'Andrew Chalkley');

echo "<ul>\n";
//$contacts[0] will return 'Alena Holligan' in our simple array of names.
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";

1 Answer

andren
andren
28,558 Points

They want you to replace the existing array with an array that consists of multiple arrays. Where each array has an element with a key of name and a value of one of the names.

I can provide an example that contains the first two names:

$contacts = array(
  array('name' => 'Alena Holligan'),
  array('name' => 'Dave McFarland')
);

That is an example using traditional array syntax. You can also use shortened array syntax where calls to array is replaced with square braces []. Like this:

$contacts = [
    ['name' => 'Alena Holligan'],
    ['name' => 'Dave McFarland']
];

Either type will work.