[英]Quick PHP question
我摘錄如下:
if (empty($last_db_error)) {
echo "OK";
} else {
echo "Error activating subscription.";
echo "{$last_db_error}";
}
問題是除非我僅使用$last_db_error
而不使用引號和括號,否則不會顯示"{$last_db_error}"
。 我在這里想念什么嗎? 上面的語法不正確嗎?
在這種情況下,括號和引號沒有用。
if (empty($last_db_error)) {
echo "OK";
} else {
echo "Error activating subscription.";
echo $last_db_error;
}
會做得完美。
順便說一句,即使您可以在PHP中將$vars
放在引號內,也不建議這樣做,因為:
使用點運算符連接變量更為合適:
if (empty($last_db_error)) {
echo "OK";
} else {
echo "Error activating subscription.\n".
$last_db_error;
}
並且,一旦您要處理大量文本,我敦促您使用PHP替代語法 。 EG:
<?php if (empty($last_db_error)): ?>
OK
<?php else : ?>
Error activating subscription.
<?php echo $last_db_error; ?>
<?php endif; ?>
$ last_db_error是字符串還是對象? 如果是字符串,則應該使用花括號將雙引號正確顯示(如您在上面發布的內容),因此代碼似乎正確。
將一個var_dump($last_db_error)
放在else語句中,然后查看其輸出。
只需使用
echo $last_db_error;
剩下的就不需要了。
大括號用於評估更復雜的變量名稱。 如果要在輸出中使用大括號,請嘗試轉義大括號,如下所示:
if (empty($last_db_error)) {
echo "OK";
} else {
echo "Error activating subscription.";
echo "\{$last_db_error\}";
}
對我來說,它可以正常工作:
<?php
$last_db_error = "LLLLLLLLLLLL";
echo "{$last_db_error}";
它告訴我LLLLLLLLLLLL
也許您正在使用某種模板系統來解析{ .... }
內部的所有內容?
最簡單的方法是:
echo $last_db_error;
在某些情況下,請嘗試以下操作:
echo "${last_db_error}";
echo ${'last_db_error'};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.