2017-07-15 54 views
0

如何使用EOD,heredoc作爲字符串數組值?如何使用EOD作爲數組值

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. 

(我的崗位大多是代碼,我需要添加一些更多的細節)

+0

你根本無法做到這一點。 –

+0

@u_mulder我不同意。 –

+0

@NiettheDarkAbsol我的意思是你不能用引號來做,但我打算回答類似於你的東西) –

回答

2

HEREDOC用不了引號。

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

需要注意的是必須有EOD標誌之前沒有空間,也不一定會有後任何事情。

如果你想要這樣的多個數組元素,你將需要把逗號分隔在一個單獨的行上。

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

所以我不能使用多個數組元素? – user6827096

+1

你可以。但是,逗號分隔元素需要放在* EOD之後。 –

相關問題