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 關注
- 153 瀏覽
添加回答
舉報