我想运行一个while(或任何)循环来输出一个小的日期列表作为数组
$start = $day = strtotime("-1 day");
$end = strtotime('+6 day');
while($day < $end)
{
echo date('d-M-Y', $day) .'<br />';
$day = strtotime("+1 day", $day) ;
}
这适用于打印,但我想将其保存为数组(并将其插入mysql数据库)。 是!我不知道我在做什么。
答案 0 :(得分:8)
要创建一个数组,首先需要在循环外初始化它(因为变量作用域)
$start = $day = strtotime("-1 day");
$end = strtotime('+6 day');
$dates = array(); //added
while($day < $end)
{
$dates[] = date('d-M-Y', $day); // modified
$day = strtotime("+1 day", $day) ;
}
echo "<pre>";
var_dump($dates);
echo "</pre>";
然后,您可以使用foreach
或while
foreach方法:
foreach($dates as $date){
echo $date."<br>";
}
接近:
$max = count($dates);
$i = 0;
while($i < $max){
echo $dates[$i]."<br>";
}
答案 1 :(得分:3)
$arr = Array();
while(...) {
$arr[] = "next element";
...
}
[]
向数组添加一个新元素,就像push()
一样,但没有调用函数的开销。
答案 2 :(得分:1)
简单的方法就是:
$start = $day = strtotime("-1 day");
$end = strtotime('+6 day');
$arr = array();
while($day < $end)
{
$arr[] = date('d-M-Y', $day);
$day = strtotime("+1 day", $day) ;
}
// Do stuff with $arr
$arr[] = $var
是在PHP中附加到数组的语法。 php中的数组没有固定大小,因此可以轻松附加。