sprintf参数交换和HEREDOC

jme*_*zes 5 php

我试图以这种方式在heredoc上使用sprintf.它不会工作.不知道怎么解决这个问题?

$i = <<<EOD
This is your invoice for %1$s %1$s %1$s %1$s
EOD;

$year = '2013';

$i = sprintf($i,$year);

echo $i;

Notice: Undefined variable: s in
Run Code Online (Sandbox Code Playgroud)

Phi*_*hil 7

因为HEREDOC就像一个双引号字符串,PHP试图将其$s作为变量进行插值.尝试NOWDOC代替

$i = <<<'EOD'
This is your invoice for %1$s %1$s %1$s %1$s
EOD;
Run Code Online (Sandbox Code Playgroud)