循环时从php生成数组

gra*_*ago 3 php arrays loops while-loop

我想运行一个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) ;
}
Run Code Online (Sandbox Code Playgroud)

这适用于打印,但我想将其保存为数组(并将其插入mysql数据库).是! 我不知道我在做什么.

Bog*_*dan 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>";
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用foreach或使用您的日期while

foreach方法:

foreach($dates as $date){
     echo $date."<br>";
}
Run Code Online (Sandbox Code Playgroud)

方法:

$max =  count($dates);
$i = 0;
while($i < $max){
    echo $dates[$i]."<br>";
}
Run Code Online (Sandbox Code Playgroud)


Nie*_*sol 5

$arr = Array();
while(...) {
   $arr[] = "next element";
   ...
}
Run Code Online (Sandbox Code Playgroud)

[]一个阵列增加了一个新的元素,就像push()但是没有调用函数的开销。