如何使用 EOD 作为数组值

How to use EOD as a array value

如何使用 EOD , heredoc 作为字符串数组值?

class W
{
    const ERROR = [ 
    'en'=>'<<<EOD 
    error no: %s. 
    EOD'
    ];

    public function a(){
        $message = sprintf(self::ERROR['en'], '1');
        echo $message;
    }

}
$b = new W;
$b->a();

结果:

<<<EOD 
error no: 1. 
EOD

我需要:

error no: 1. 

HEREDOC 不使用引号。

    'en' => <<<EOD
error no: %s.
EOD
    ];

注意在EOD标记之前不能有没有space,后面也不能有任何东西。

如果您需要这样的多个数组元素,则需要将元素之间的逗号分隔在单独的一行中。

    'en' => <<<EOD
error no: %s.
EOD
  , 'fr' => <<<EOD
erreur nº: %s.
EOD
    ]