3 回答
TA贡献1966条经验 获得超4个赞
使用单引号时不会解析/解释变量。
代替
$formattedFileName= '<button class="box button is-large is-fullwidth is-primary is-light" onclick="loadScriptFileData($filename)">$filename</button>';
和
$formattedFileName= "<button class=\"box button is-large is-fullwidth is-primary is-light\" onclick=\"loadScriptFileData('$filename')\">$filename</button>";
TA贡献1863条经验 获得超2个赞
另一种选择(这是我个人的偏好)是在输出 HTML 时结束 PHP 块,并在需要时回显 PHP 变量:
if ($file->isFile()) {
$filename = $file->getFilename();
// Let's end the PHP block
?>
<button class="box button is-large is-fullwidth is-primary is-light"
onclick="loadScriptFileData('<?= $filename ?>')">
<?= $filename ?>
</button>
<?php // Open the PHP block again
}
这样做的好处是 IDE 会在语法上正确突出显示代码(大多数 IDE 不会对 PHP 中的 HTML 内引号执行此操作)。
您也不需要转义引号或手动打印内容,因为它会立即输出。
TA贡献1846条经验 获得超7个赞
这是个人喜好,但我建议使用串联或花括号:
使用大括号(注意:必须用双引号括起来):
$formattedFileName =
"<button
class="box button is-large is-fullwidth is-primary is-light"
onclick="loadScriptFileData({$filename})">
{$filename}
</button>";
使用串联:
$formattedFileName =
'<button
class="box button is-large is-fullwidth is-primary is-light"
onclick="loadScriptFileData(' . $filename . ')">
' . $filename . '
</button>';
是的,如果使用双引号,则可以在 PHP 的字符串中使用变量,而且肯定有很多人喜欢这样做。对我来说,使用这两种方法之一似乎更干净且不易出错。
使用双引号会导致您对 HTML 属性使用单引号或强制您转义它们。
如果您不希望变量后面有空格,则不使用连接或花括号可能会导致问题:
$var = 'Pizza';
echo "$vars are awesome!" // Not the best example, but you get the idea
归根结底,这是个人喜好。但正如另一个答案中所述,如果用单引号括起来,则不能在字符串中使用变量。
- 3 回答
- 0 关注
- 104 浏览
添加回答
举报