簡體   English   中英

在PHP中傳遞strtotime()函數中的變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM