首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在关联数组中使用PHP here-doc?

如何在关联数组中使用PHP here-doc?
EN

Stack Overflow用户
提问于 2012-06-17 08:17:28
回答 2查看 6.5K关注 0票数 19

我有一个更大的多行文本,需要通过here-doc放入PHP关联数组中。它看起来是这样的:

代码语言:javascript
复制
    $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数组中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-17 08:22:57

有几个问题,它必须看起来像这样:

代码语言:javascript
复制
$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代码。我不推荐使用它,它充满了问题(可能是由词法分析器引起的)。最好还是沿用老办法。

票数 29
EN

Stack Overflow用户

发布于 2014-07-31 19:50:21

在PHP7.3中,所有东西都有improved significantly。您现在可以执行以下操作:

代码语言:javascript
复制
$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 ... */
];

我遇到了同样的问题,最后我做了这个(旧的解决方案):

代码语言:javascript
复制
$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,而不需要非常难看的数组格式化。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11067993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档