'use array element with spaces in key inside heredoc

I'm pulling data from a MySQL database and getting the result as an associative array but the fields in the database have space so I have to access the array element with spaces in the key, now that is fine if I just access the element and wrap the key in quotes, but I want to use it in a heredoc and I have a problem accessing the array elements.

An example to show the problem

<?php
$a = array(
    'first_element' => 'test1',
    'second element' => 'test2'
);

$html = <<<EOF
first element is: $a[first_element]
second element is: $a[second element]
EOF;
?>

the first element can be printed fine since the key doesn't have spaces, the second element can't and resulting in this error

Parse error: syntax error, unexpected string content "", expecting "]" in /Applications/XAMPP/xamppfiles/htdocs/installments/test.php on line 9

if i try to wrap the key in quotes i get another error

Parse error: syntax error, unexpected string content "", expecting "-" or identifier or variable or number in /Applications/XAMPP/xamppfiles/htdocs/installments/test.php on line 9


Solution 1:[1]

Use curly brackets and quotes:

<?php
$a = array(
    'first_element' => 'test1',
    'second element' => 'test2'
);

$html = <<<EOF
first element is: {$a['first_element']}
second element is: {$a['second element']}
EOF;

heredoc syntax, Example #8

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 brombeer