Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php For循环,数组中的某些项在特定的天数内需要不同的类_Php_Loops_For Loop - Fatal编程技术网

Php For循环,数组中的某些项在特定的天数内需要不同的类

Php For循环,数组中的某些项在特定的天数内需要不同的类,php,loops,for-loop,Php,Loops,For Loop,我有一个for循环,在降临节日历中显示24个产品。在当天提供优惠,过去一天的优惠将被授予过期课程,未来一天的优惠将被禁用 但是,有些日子,优惠区的可用时间超过1天,可能是7天、3天等 所以我的问题是,除了特定的日子之外,我如何做一个预测 我的想法是,我需要在项中的语句中执行ifi[7] else if($today[mday]>$i){echo“过期”} <?php for ($i = 1; $i < 25; $i++) { ?> <a href="offer.php?d

我有一个for循环,在降临节日历中显示24个产品。在当天提供优惠,过去一天的优惠将被授予过期课程,未来一天的优惠将被禁用

但是,有些日子,优惠区的可用时间超过1天,可能是7天、3天等

所以我的问题是,除了特定的日子之外,我如何做一个预测

我的想法是,我需要在
项中的
语句中执行if
i[7]

else if($today[mday]>$i){echo“过期”}

<?php for ($i = 1; $i < 25; $i++) { ?>
<a href="offer.php?day=<?php echo $i; ?><? echo '&dealership='. $dealership; ?>" class="item <? if ($today[mday] == $i ) { echo " current yellow"; } else if ($today[mday] < $i+1 ) { echo "disabled gift"; } else if ($today[mday] > $i ) { echo "expired"; } ?>">
    <div class="offer">
        <h2>Day <?php echo $i; ?>.</h2>
        <span class="unavailable">No Longer Available</span>
        <p><? echo call_user_func('Day_'.$i.'_Offer', 'CAL_OFFER'); ?></p>
        <? echo $termsLink; ?>
    </div>
    <div class="offer-img">
        <img src="img/day<?php echo $i; ?>.jpg">
    </div>
</a>
<?php } ?>

如果您有24个优惠,并且希望在一天以上提供一些优惠,请创建一个包含优惠有效天数的数组:

$offer = array( 1, 1, 1, 3, 1, 1, 7 ... );

$today = intval( date( 'j' ) );

for ($i = 1; $i < 25; $i++) {
    if ( $today >= $i && $today < $i+$offer[$i-1] )
        // Current offer
    else if ( $today > $i )
        // Expired
    else
        // Disabled
}
$offer=数组(1,1,1,3,1,1,7;
$today=intval(日期('j'));
对于($i=1;$i<25;$i++){
如果($today>=$i&&$today<$i+$offer[$i-1])
//当前报价
否则如果($今日>$i)
//过期
其他的
//残废
}

更新了今天添加了$,并修复了($i=date(“d”);“…){……}
的第一个if语句的问题,它获取当前日期并将其链接到
$i
,即今天将使
$i=02
的问题在于它不包括过去的日期,因此,第1天将不包括在循环中。感谢您的帮助:)。我知道这是一个单独的问题,但如果我想手动将$today设置为第7天,只是为了测试我该如何做?哈哈!尝试更改
$today=intval(日期('j'))
$today=7谢谢,我刚刚用“j”替换了一个数字:)如果我开始一个新问题,你能帮忙吗?还是我应该在这里发布?开始一个新问题!如果我有空,我会看看我能不能帮上忙!