こんなサンプルコードを書いてみた。
<?php
$size = array(
'height' => 157.5,
'width' => 77.4,
'depth' => 7.7
);
echo <<<EOT
The height of "iPhone XS Max" is $size[height] mm.
EOT;
echo <<<EOT
The width of "iPhone XS Max" is ${size["width"]} mm.
EOT;
echo <<<EOT
The depth of "iPhone XS Max" is {$size["depth"]} mm.
EOT;
このように書くとエラーになる:
echo <<<EOT
The height of "iPhone XS Max" is $size["height"] mm.
EOT;
Parse error: syntax error, unexpected '"', expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
heightのケースが、個人的にはとても気持ち悪く感じるというか、配列でキーを文字列で与えるときは引用符で括るっていう文法を、そこだけ無視できていることがしっくりこない。
なので私はwidthかdepthのケースで書くことが多い。このブログみたいにカラー文法表示がうまく働かないケースも考慮すると、depthのケース「{$size["depth"]}」が無難なのかもしれない。
(PHP: ヒアドキュメントと連想配列 - m6uのエンジニアっぽい日記からの転載)
参考文献
変数のパース - 文字列