每3次迭代为日期增加一年的PHP代码实现求助
正确实现每3次迭代后为日期增加一年的PHP代码
你的原代码问题在于判断条件$i % 2 == 0,这会在第1、3、5次迭代(对应$i=0、2、4)时就增加年份,不符合每完成3次迭代才加一年的需求。
要实现每完成3次迭代后增加一年,需要调整判断逻辑:当迭代次数是3的倍数时执行加年操作,以下是两种可行的实现方式:
方式一:计数从1开始
$lang = ["PHP", "JAVA", "Ruby", "C", "C++", "Perl"]; $date = Carbon::now(); $i = 1; foreach($lang as $l){ // 每完成3次迭代(即第3、6次迭代时)增加一年 if($i % 3 == 0){ $date->addYear(); } $i++; }
方式二:计数从0开始
$lang = ["PHP", "JAVA", "Ruby", "C", "C++", "Perl"]; $date = Carbon::now(); $i = 0; foreach($lang as $l){ $i++; // 每完成3次迭代时增加一年 if($i % 3 == 0){ $date->addYear(); } }
以上两种方式都会在完成第3次和第6次迭代后各增加一年,最终日期会比初始日期多2年,符合你的需求。
内容的提问来源于stack exchange,提问作者user15187482
相关产品推荐
相关产品推荐

