ヒアドキュメント内での配列の展開

$array['1'] = 'aaa';
$array['2'] = 'bbb';
$array['3'] = 'ccc';

$test = <<< eom
<span>$array['1']</span>
<span>$array['2']</span>
<span>$array['1']</span>
eom;

上記のように書いても変数展開がされないでエラーになった。

google先生に聞いてみた。

$array['1'] = 'aaa';
$array['2'] = 'bbb';
$array['3'] = 'ccc';

$test = <<< eom
<span>{$array['1']}</span>
<span>{$array['2']}</span>
<span>{$array['1']}</span>
eom;

こういうことらしい。変数全体を{}で囲う。

ちなみに、SQLを投げたかったので、今回の場合は以下のようにしてみた

$gets["id"] = $_POST["id"];
$gets["data"] = $_POST["data"];

$sql = <<< EOM
INSERT INTO test_table(id, data) VALUES('{$gets["id"]}', '{$gets["data"]}');
EOM;

mysql_query($sql);

連想配列のほうをダブルクオート「""」で囲い、外をシングルクオート「''」で囲った。

参考:http://okwave.jp/qa1847019.html