```
<?php

$letters = array( 'A', 'B', 'C' );
$numbers = array( 1, 2, 3 );
$matrix = array( 'Letter' => $letters, 'Number' => $numbers );

echo "<p>Start : {$matrix['Letter'][0]}</p>";

foreach($matrix as $array => $list)
{
   echo'<ul>';
   foreach($list as $key => $value)
   { 
      echo "<li>$array [$key] = $value";
   }
   echo '</ul>';
}

?>

```

I need help understanding this code, essentially I am confused how line #13 is working.

```
What I see:

'$value' = non-key values of '$list'
'$list' = non-key values of '$matrix'
'$matrix' = $letters, $numbers

Therefore '$value' = $letters, $numbers

'$array' = key values of '$list'

Therefore '$array' = 'Letter', 'Number'

```

I know I can type `echo "<p>Letter: {$letters[0]}</p>";` to have the letter 'A' returned, but if I type `echo "<p>Letter: {$letters}</p>";` then I will receive an error.

My focus is on line 13, `{ echo "<li>$array [$key] = $value"; }`

Why is this not returning an error? 

No spot in `'$array'` was specified, `'$key'` was never assigned, and no spot in `'$value'` is specified.

I have only started learning PHP & MySQL a few days ago.
Any help is greatly appreciated as I am trying to learn and want to move on to the next part of this book, but I need to get my head around this first.

~Thanks!