我不知道,如果你真的可以說是有一個正確的形式把一個字符串中的變量,但最靈活,確保工作會:
$current_renewal_date = $wpdb->get_results(
"
SELECT expiry_date
FROM bid_tag
WHERE id = ".$renewal_tag_id."
LIMIT 1
"
);
使用此語法至少有兩個好處,而不是僅將該變量放在字符串中。
可變誤解
1)當你把字符串中的變量,如果你需要的變量與其他文本混合,你可能會遇到問題。
例子:
$string = "My ID is AB$variableCD";
什麼是變量?它是$變量?它是$ variableC嗎?或者$ variableCD?關於您正在使用的語法,有很多解釋。這時候你做不發生
$string = "My ID is AB".$variable."CD";
陣列使用
2)你不能簡單的使用有數組索引變量時,你的字符串
實例中混合使用它們:
$string = "The largest country is $options[countries in the world][$index]";
會給你* PHP解析錯誤:語法錯誤,意外T_ENCAPSED_AND_WHITESPACE,期待']'*
同時使用下面將很好地工作:
$string = "The largest country is ".$options['countries in the world'][$index];
而一點點額外的,是不是真的語法的問題...
3)而實際上是有性能優勢,那就是爲你的字符串使用'而不是'的可能性。使用'會產生字符串字面值,也就是說,它不會被解析,這在處理大字符串時會提高性能。
$string = 'hello';
代替
$string = "hello";
第一個。第二個甚至可能實際上工作。 – dmarra
當需要引用'$ renewal_tag_id ['some_index']'時,第二個更容易閱讀和更方便。但是,在這種情況下,您應該考慮'$ wpdb-> get_var($ wpdb-> prepare(「SELECT .. WHERE id =%s LIMIT 1」,$ renewal_tag_id))'以避免SQL注入。 – DCoder
帶有SELECT語句的SQL注入? – dcolumbus