2012-06-17 26 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; 

的想法是,我可以使用无定界符奇丑无比阵列格式。