【问题标题】:How to call an array member inside PHP HEREDOC?如何在 PHP HEREDOC 中调用数组成员?
【发布时间】:2014-09-27 22:40:25
【问题描述】:

有没有办法在 PHP HEREDOC 语法中调用数组成员?

我了解 HEREDOC 可以使用 $strings,并且可以。我尝试调用数组成员,但失败了:

echo <<<EOF
<tr>
<td>$inner_array_member["ID"]</td>
<td>$inner_array_member["Date"]</td>
<td>$inner_array_member["Time"]</td>
<td>$inner_array_member["Published"]</td>
<td>$inner_array_member["Article"]</td>
<td><a href="rendered.php?editarticle=$inner_array_member["ID"]">EDIT</a></td>
</tr>
EOF;

但是,如果我将字符串重命名为简单形式 ($Article = $inner_array_member["Article"]) 并调用它们,一切都很好。有没有办法解决这个问题?

【问题讨论】:

  • 您是否尝试过阅读手册?
  • 是的,我没听懂。老实说,您在下面提供的链接我也不清楚。
  • 我给了两个链接。如果还不清楚(一开始我也不清楚),这不是问题,你应该训练自己习惯手册。它包含你需要的所有知识,你只需要学会提取它。
  • 我知道这一点,但是由于没有编程背景,我提出的问题可能常常看起来很愚蠢(看起来确实如此)。违反任何专业领域的最大问题是对问题和术语的理解。缺少这两个会使做事变得困难。 (谢谢)

标签: php string syntax heredoc


【解决方案1】:

使用花括号,例如{$inner_array_member['Published']}

【讨论】:

  • 请考虑在投票时写一行
【解决方案2】:

试试这个

echo <<<EOF
<tr>
<td>{$inner_array_member["ID"]}</td>
<td>{$inner_array_member["Date"]}</td>
<td>{$inner_array_member["Time"]}</td>
<td>{$inner_array_member["Published"]}</td>
<td>{$inner_array_member["Article"]}</td>
<td><a href="rendered.php?editarticle={$inner_array_member["ID"]}">EDIT</a></td>
</tr>
EOF;

【讨论】:

    【解决方案3】:

    请在提问前阅读手册。 It clearly states:

    Heredoc 文本的行为就像一个双引号字符串,没有 双引号。这意味着heredoc中的引号不需要 转义,但仍然可以使用上面列出的转义码。 变量被扩展,但在 在heredoc 中用字符串表示复杂变量。

    检查双引号字符串后,您会得到一个指向string parsing 的链接。你花了一些时间阅读它,你发现你有两种方法:

    echo <<<EOF
    <tr>
    <td>$inner_array_member[ID]</td>
    <td>{$inner_array_member["ID"]}</td>
    </tr>
    EOF;
    

    我推荐后者,{$inner_array_member["ID"]},它更具可读性,很少有人认出第一种形式(包括我在上周阅读它之前)。第一种形式也比较有限。

    【讨论】:

    • 谢谢。我和HEREDOC很纠结!
    猜你喜欢
    • 2012-02-07
    • 2019-04-07
    • 2015-10-22
    • 1970-01-01
    • 2014-12-22
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多