2012-06-17 62 views
13

我有一段較大的多行文本,需要通過here-doc放入PHP關聯數組中。它看起來像這樣:如何在關聯數組中使用PHP here-doc?

$data = [ 
     "x" => "y", 
     "foo" => "bar", 
     /* ... other values ... */ 
     "idx" = <<< EOC 
data data data data 
data data data data 
data data data data 
EOC; 
     "z" => 9, 
     /* ... more values ... */ 
    ]; 

我無法弄清楚如何把這個元素「IDX」與$ data數組在多行文本通過這裏-doc的。

回答

18

有幾個問題,它看起來像這樣:

$data = [ 
    "x" => "y", 
    "foo" => "bar", 
    /* ... other values ... */ 
    // you need to use '=>' 
    "idx" => <<<EOC 
data data data data 
data data data data 
data data data data 
EOC 
,"z" => 9, // you can't end it with a semicolon, WHY EVER! and the comma needs to be on a new line 
/* ... more values ... */ 
]; 

這是一些哈克和笨重的PHP代碼。我不推薦使用它,它充滿了問題(可能是由詞法分析器造成的)。更好地堅持古老的絃樂。

3

我有同樣的問題,我最後做的:

$data = [ 
    "x" => "y", 
    "foo" => "bar", 
    /* ... other values ... */ 
    "z" => 9, 
    /* ... more values ... */ 
]; 

$data["idx"] = <<< EOC 
data data data data 
data data data data 
data data data data 
EOC; 

的想法是,我可以使用無定界符奇醜無比陣列格式。