循环插入x乘以php日期



我正试图把一些代码放在PHP中,以便在我添加日期后,下一个x数字日期被添加。

不详细说明,一般的想法是,在客户被访问后,将输入访问日期,然后触发此代码,添加下一个x访问日期(访问将每6个月一次),但根据客户的不同,可能有3,4或5次访问,我将此设置为$值,并且能够计算未来的日期。

我不知道如何循环插入,所以如果

$value = 4, then
n1, initial date + 6 months
n2, initial date + (6*2) months
n3, initial date + (6*3) months
n4, initial date + (6*4) months - yes i know i could just add 6 months to n-1, but trying to keep it simple.

我从来没有在循环中使用过第n项方法,想知道是否有人可以a)为我指出相关文章的方向,b)给我一个例子。

基本上我想做的是循环它x次($value = x),然后在每个循环中可以使用6 * x。

感谢

使用DateTime对象和DateInterval对象,这可以很简单地使用for循环来完成。

$frequency = 6;    // could be 6 or 12 months, set elsewhere in your code
$visit_count = 5; //for this example
$initial_date = new DateTime($value["VisitDate"]);  // last visit date
$interval = new DateInterval("P$frequencyM");    // visit every $frequency  months
for ( $i=0; $i < $visit_count; $i++ ) {
$visits[] = clone $initial_date->add($interval);
}
print_r($visits);

结果

Array
(
[0] => DateTime Object
(
[date] => 2023-01-01 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[1] => DateTime Object
(
[date] => 2023-07-01 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[2] => DateTime Object
(
[date] => 2024-01-01 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[3] => DateTime Object
(
[date] => 2024-07-01 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[4] => DateTime Object
(
[date] => 2025-01-01 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
)

最新更新