2012-08-14 60 views
0

您可以帮我从这个循环中获取数据。它实际上应该打印3个月的名称,如果我不在那里使用$ period变量并使用echo代替,它会这样做。但是我想把这个值放到$ period变量中,所以我可以在脚本中使用它。现在,它只打印出一个月。从for循环输出数据

for ($i=1; $i<=3; $i++) 
    { 
    $period = '<option value="">'; 
    $period .= date('F, Y', strtotime('+'.$i.' month')); 
    $period .= '</option>'; 
    }   

    echo $period; 

回答

5

您在每次迭代中覆盖$ period的值。请尝试下面的代码:

$period = ""; 
for ($i=1; $i<=3; $i++) 
{ 
    $period .= '<option value="">'; 
    $period .= date('F, Y', strtotime('+'.$i.' month')); 
    $period .= '</option>'; 
}   

echo $period; 
+0

你的答案吧是正确的矿山,但有不同的解决方案。 +1 – Fluffeh 2012-08-14 13:17:56

2

您需要在每次迭代时输出$period的值。

for ($i=1; $i<=3; $i++) 
{ 
    $period = '<option value="">'; 
    $period .= date('F, Y', strtotime('+'.$i.' month')); 
    $period .= '</option>'; 
    echo $period; 
}   
1

试试这个:

$numPeriods = 3; 
$period = ''; 

for($i=1; $i<=$numPeriods; $i++) 
{ 
    $period .= '<option value="'.$i.'">'; 
    $period .= date('F, Y', strtotime('+'.$i .' month')); 
    $period .= '</option>'; 
} 

echo $period;