尝试使用以下代码时,我不断收到错误“解析错误:语法错误,意外的 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/