echo "<td>".$value["rating"]."<div class=ratingOutput data-average=".$rates." **data-id="$value["id"]"**></div>".$newline.$rateHere.$starOutput."</td>";
我希望data-id为整数值,但不能将其设置为任何int,例如即使我将上述代码更改为此
echo "<td>".$value["rating"]."<div class=ratingOutput data-average=".$rates." **data-id="4"**></div>".$newline.$rateHere.$starOutput."</td>";
我收到错误:
语法错误,意外&#39; $ value&#39; (T_VARIABLE),期待&#39;,&#39;或&#39;;&#39;
答案 0 :(得分:2)
您的字符串连接错误。
echo "<td>".$value["rating"]."<div class=ratingOutput data-average=".$rates." **data-id=". 4 . "**></div>".$newline.$rateHere.$starOutput."</td>";
答案 1 :(得分:1)
改变这个:
echo "<td>".$value["rating"]."<div class=ratingOutput data-average=".$rates." **data-id="4"**></div>".$newline.$rateHere.$starOutput."</td>";
对此:
echo '<td>'.$value['rating'].'<div class="ratingOutput" data-average="' . $rates . '" data-id="' . $value['id'] . '"></div>'.$newline.$rateHere.$starOutput.'</td>';
在PHP中使用html时最好的方法是使用单引号,因为通常你会为你的属性使用双引号,那么你将需要转义双引号。对于您将使用的属性。
答案 2 :(得分:0)
每当我在PHP代码中构建HTML时,我都使用heredoc语法:
echo <<< EOT
<td>
{$value['rating']}
<div class="ratingOutput" data-average="$rates" data-id="4"></div>
$newline
$rateHere
$starOutput
</td>
EOT;
......类似的东西。
所以你不必担心逃避双引号或连接。您可以格式化HTML,以便更容易阅读(也许您不需要$newline
变量,如果它只是换行符,我无法分辨)。
(它也不必与echo
一起使用,你可以在变量赋值$html = <<< EOT
中使用它 - 在你的令牌之后没有空格,否则它会失败!
如果您需要变量中的最后一个换行符,那么在结束标记之前需要一个空行,因为结束字符序列实际上是\nEOT;\n
。
文章中的许多示例都使用EOT
作为令牌,但我很久以前就将_
放弃了,更短。