如何设置一个selectpicker
条件,该条件可以追溯到-1天,直到我的数组有10个元素?
这是我的测试代码:
do while
这是我的输出:
$date = '2016-01-24';
$array = [];
$i = 0;
do {
$days_back = '-' . $i++ . ' day';
$date = new DateTime($date);
$date->modify($days_back);
$date = $date->format('Y-m-d');
echo '<br /> $date: ' . $date . ' // $days_back: ' . $days_back . ' // $i: ' . $i . '<br />';
array_push(
$array,
array($date),
array($days_back)
);
} while (count($array) < 10);
但$date: 2016-01-24 // $days_back: -0 day // $i: 1
$date: 2016-01-23 // $days_back: -1 day // $i: 2
$date: 2016-01-21 // $days_back: -2 day // $i: 3
$date: 2016-01-18 // $days_back: -3 day // $i: 4
$date: 2016-01-14 // $days_back: -4 day // $i: 5
的输出在这里不正确。它在运行之间跳得太高,但它应该是线性的:24,23,22,21等。
答案 0 :(得分:0)
只需要在两个地方重命名$ date变量。这是代码
$currentDate = '2016-01-24';
$array = [];
$i = 0;
do {
$days_back = '-' . $i++ . ' day';
$date = new DateTime($currentDate);
$date->modify($days_back);
$date = $date->format('Y-m-d');
echo '<br /> $date: ' . $date . ' // $days_back: ' . $days_back . ' // $i: ' . $i . '<br />';
array_push(
$array,
array($date),
array($days_back)
);
} while (count($array) < 10);