我有一个更大的多行文本,需要通过here-doc放入PHP关联数组中。它看起来是这样的:
$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 ... */
];我不知道如何通过here-doc将包含多行文本的元素"idx“放入$data数组中。
发布于 2012-06-17 08:22:57
有几个问题,它必须看起来像这样:
$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代码。我不推荐使用它,它充满了问题(可能是由词法分析器引起的)。最好还是沿用老办法。
发布于 2014-07-31 19:50:21
在PHP7.3中,所有东西都有improved significantly。您现在可以执行以下操作:
$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 ... */
];我遇到了同样的问题,最后我做了这个(旧的解决方案):
$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;我的想法是,我可以使用heredoc,而不需要非常难看的数组格式化。
https://stackoverflow.com/questions/11067993
复制相似问题