[英]Passing a Variable in strtotime() function in PHP
與此問題類似,但我的具體問題沒有答案。
當前日期為2011-12-14,以供將來查看此問題的參考。
我試過這個:
$maxAge = $row['maxAge']; // for example, $row['maxAge'] == 30
$cutoff = date('Y-m-d', strtotime('-$maxAge days'));
它為$cutoff: 1969-12-31
返回以下值$cutoff: 1969-12-31
我試過這個:
$maxAge = $row['maxAge']; // for example, $row['maxAge'] == 30
$cutoff = date('Y-m-d', strtotime('-' . $maxAge . ' days'));
它為$cutoff: 2011-03-14
返回以下值$cutoff: 2011-03-14
如何將此變量成功傳遞到strtotime()
函數中,以便計算正確減去的天數?
例如,如果$maxAge == 30
且當前日期是2011-12-14,那么$cutoff
應該是2011-11-14
使用雙引號:
date('Y-m-d', strtotime("-$maxAge days"));
使用雙引號:
$cutoff = date('Y-m-d', strtotime("-$maxAge days"));
但是,如果您正在進行這樣的簡單計算,則可以通過不使用strtotime來簡單地編寫代碼,如下所示:
$date = getdate();
$cutoff = date('Y-m-d', mktime( 0, 0, 0, $date['mon'], $date['mday'] - $maxAge, $date['year']));
echo $cutoff;
您可以在PHP中使用雙引號或heredoc字符串來擴展變量。 單引號和nowdoc字符串不會擴展變量。
http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.