如何从日期数组中回显单个日期?
How to echo individual dates from dates array?
现在我的程序会回显使用 for loop
生成的日期数组。我想做的是单独回显日期。
初始代码
// initialize an array with your first date
$dates = array(strtotime("+11 days", strtotime("2017-09-04")));
for ($i = 1; $i <= 5; $i++) {// loop 5 times to get the next 5 dates
// add 7 days to previous date in the array
$dates[] = strtotime("+7 days", $dates[$i-1]);
}
// echo the results
foreach ($dates as $date) {
echo date("Y-m-d", $date);
echo "<br>";
}
初始输出
2017-09-15
2017-09-22
2017-09-29
2017-10-06
2017-10-13
我试过的
echo $dates[0];//print first date
echo "<br>";
echo $dates[1];//print second date
试用输出
1505426400
1506031200
我怎样才能做到这一点?
要么你在输出元素时也需要使用 date()
- 因为它们仍然是数组中的时间戳(你不改变循环中的任何东西,你只是打印元素),或者你遍历元素时需要更改元素。
备选方案 1:输出格式
在输出时将时间戳转换为日期字符串。这仍然会在数组中包含时间戳。
echo date("Y-m-d", $dates[0]);
备选方案 2:改变数组中的元素
或者,您可以在遍历 foreach
时更改数组中的值。如果您 通过引用传递 ,您可以使用 &
更改循环内元素的值(这意味着该变量是一个 引用 而不是副本)。这意味着您现在在数组中有日期字符串,而不是时间戳。
foreach ($dates as &$date) {
echo $date = date("Y-m-d", $date);
echo "<br>";
}
如果您通过引用传递,您现在可以直接打印它,因为它不再包含时间戳,因为我们将它更改为日期字符串。
echo $dates[0];
您应该只采用最适合您应用的备选方案之一。
试试这个
echo date("Y-m-d", ($dates[0])) . '<br>';
echo date("Y-m-d", ($dates[1])) . '<br>';
现在我的程序会回显使用 for loop
生成的日期数组。我想做的是单独回显日期。
初始代码
// initialize an array with your first date
$dates = array(strtotime("+11 days", strtotime("2017-09-04")));
for ($i = 1; $i <= 5; $i++) {// loop 5 times to get the next 5 dates
// add 7 days to previous date in the array
$dates[] = strtotime("+7 days", $dates[$i-1]);
}
// echo the results
foreach ($dates as $date) {
echo date("Y-m-d", $date);
echo "<br>";
}
初始输出
2017-09-15
2017-09-22
2017-09-29
2017-10-06
2017-10-13
我试过的
echo $dates[0];//print first date
echo "<br>";
echo $dates[1];//print second date
试用输出
1505426400
1506031200
我怎样才能做到这一点?
要么你在输出元素时也需要使用 date()
- 因为它们仍然是数组中的时间戳(你不改变循环中的任何东西,你只是打印元素),或者你遍历元素时需要更改元素。
备选方案 1:输出格式
在输出时将时间戳转换为日期字符串。这仍然会在数组中包含时间戳。
echo date("Y-m-d", $dates[0]);
备选方案 2:改变数组中的元素
或者,您可以在遍历 foreach
时更改数组中的值。如果您 通过引用传递 ,您可以使用 &
更改循环内元素的值(这意味着该变量是一个 引用 而不是副本)。这意味着您现在在数组中有日期字符串,而不是时间戳。
foreach ($dates as &$date) {
echo $date = date("Y-m-d", $date);
echo "<br>";
}
如果您通过引用传递,您现在可以直接打印它,因为它不再包含时间戳,因为我们将它更改为日期字符串。
echo $dates[0];
您应该只采用最适合您应用的备选方案之一。
试试这个
echo date("Y-m-d", ($dates[0])) . '<br>';
echo date("Y-m-d", ($dates[1])) . '<br>';