php - 从内部引号或heredoc输出php和javascript时出错

标签 php javascript html for-loop heredoc

尝试使用以下代码时,我不断收到错误“解析错误:语法错误,意外的 T_SL”:

<?php 
$names = array(1 => 'example1', 2 => 'example2',    3 => 'example3', 4 => 'example4');

$code = <<<HEREDOC<div><h3>$names[$i]</h3>
    <div class="rating"><div class="id$i" id="0
        $stmt = mysqli_prepare($dbc, 'SELECT userid, rating FROM ranks WHERE userid = ? AND id =?');
            mysqli_stmt_bind_param($stmt, 'ii', $userid, $i);
            mysqli_stmt_execute($stmt);
            mysqli_stmt_bind_result($stmt, $userid, $i, $rating);
            while (mysqli_stmt_fetch($stmt)){
                echo ($rating);
            }_$i"><script type="text/javascript">$(document).ready(function(){$(".id' . $i. '").jRating({isDisabled : false});});</script></div></div><div class="push"> 
        $query = "SELECT ROUND( AVG(rating),1 ) FROM ranks WHERE fight_id ='".$i."'");
        $result = mysqli_query($dbc, $query) or die("Error querying database.");
        while($row = mysqli_fetch_array($result)){
            echo "<h3 class='average'>" . $row["ROUND( AVG(rating),1 )"] . "/5" . "</h3>";}
        </div><br/></div><div class="line"></div>;HEREDOC;


for($i=1; $i<5; $i++)
{
    echo $code
}?>

我确信我做错了,我每次切换到 JS/HTML 时都尝试使用 php 开始和结束标记,也尝试使用单引号并遇到错误。感谢您的宝贵时间!

最佳答案

这里doc的正确风格是:

$code = <<<HEREDOC

HEREDOC;

每个符号应位于行首并以换行符结束。

更新:正如@Mike提到的

can't assign variables or do while loops within HEREDOC notation

关于php - 从内部引号或heredoc输出php和javascript时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17844137/

相关文章:

javascript - Foundation - Off Canvas 滚动问题

javascript - 如何获得所有内联样式的列表?

javascript - 使用 Jquery 获取异步加载的 svg 元素的 id

javascript - Wordpress 子主题 css 不会覆盖父 css

php - 如何使用 htaccess 阻止垃圾邮件和垃圾邮件机器人?

php - 无法使用 PDO 从 MySQL 中获取多行

javascript - jQuery UI 可调整大小的反向

php - 将 Gaufrette Stream Wrappers 与 AsseticBundle 结合使用

javascript - jQuery 延迟加载图像与节流?

javascript - 提示下载位置而不是直接下载