在foreach()循环-PHP中显示2个数组值
我有这个阵列:在foreach()循环-PHP中显示2个数组值,php,arrays,Php,Arrays,我有这个阵列: Array ( [0] => 2012-08-21 [1] => 2012-08-22 [2] => 2012-08-23 [3] => 2012-08-24 [4] => 2012-08-25 [5] => 2012-08-26 [6] => 2012-08-27 [7] => 2012-08-28 [8] => 2012-08-29 [9] =
Array
(
[0] => 2012-08-21
[1] => 2012-08-22
[2] => 2012-08-23
[3] => 2012-08-24
[4] => 2012-08-25
[5] => 2012-08-26
[6] => 2012-08-27
[7] => 2012-08-28
[8] => 2012-08-29
[9] => 2012-08-30
)
要创建此阵列,我将使用以下方法:
function getAllDatesBetweenTwoDates($strDateFrom,$strDateTo)
{
$aryRange=array();
$iDateFrom=mktime(1,0,0,substr($strDateFrom,5,2), substr($strDateFrom,8,2),substr($strDateFrom,0,4));
$iDateTo=mktime(1,0,0,substr($strDateTo,5,2), substr($strDateTo,8,2),substr($strDateTo,0,4));
if ($iDateTo>=$iDateFrom)
{
array_push($aryRange,date('Y-m-d',$iDateFrom)); // first entry
while ($iDateFrom<$iDateTo)
{
$iDateFrom+=86400; // add 24 hours
array_push($aryRange,date('Y-m-d',$iDateFrom));
}
}
return $aryRange;
}
$fromDate = '2012-08-21';
$toDate = '2012-08-30';
$dateArray = getAllDatesBetweenTwoDates($fromDate, $toDate);
for($i=0, $count = count($dateArray);$i<$count;$i++) {
echo $dateArray[$i] . " - " . $dateArray[$i++] . "<br>";
}
但我希望它能回来:
2012-08-21 - 2012-08-22
2012-08-22 - 2012-08-23
2012-08-23 - 2012-08-24
2012-08-24 - 2012-08-25
2012-08-25 - 2012-08-26
2012-08-26 - 2012-08-27
2012-08-27 - 2012-08-28
2012-08-28 - 2012-08-29
2012-08-29 - 2012-08-30
2012-08-30 - 2012-08-30
我怎样才能做到这一点呢?您将
I
增加两次,这就是问题所在。对于迭代,您必须在内部使用$i+1
而不是i++
:
for($i=0, $count = count($dateArray);$i<$count;$i++) {
echo $dateArray[$i] . " - " . $dateArray[$i+1] . "<br>";
}
对于($i=0,$count=count($dateArray);$i您将i
增加两次,这就是问题所在。对于迭代,您必须使用$i+1
而不是i++
内部:
for($i=0, $count = count($dateArray);$i<$count;$i++) {
echo $dateArray[$i] . " - " . $dateArray[$i+1] . "<br>";
}
对于($i=0,$count=count($dateArray);$i您将i
增加两次,这就是问题所在。对于迭代,您必须使用$i+1
而不是i++
内部:
for($i=0, $count = count($dateArray);$i<$count;$i++) {
echo $dateArray[$i] . " - " . $dateArray[$i+1] . "<br>";
}
对于($i=0,$count=count($dateArray);$i您将i
增加两次,这就是问题所在。对于迭代,您必须使用$i+1
而不是i++
内部:
for($i=0, $count = count($dateArray);$i<$count;$i++) {
echo $dateArray[$i] . " - " . $dateArray[$i+1] . "<br>";
}
对于($i=0,$count=count($dateArray);$i问题不在于函数本身,而在于打印它的方式(双增量)。请尝试以下循环:
for($i=0; $i<count($dateArray)-1;$i++) {
echo $dateArray[$i] . " - " . $dateArray[$i+1] . "<br>";
}
对于($i=0;$i问题不在于函数本身,而在于打印它的方式(双增量)。请尝试以下循环:
for($i=0; $i<count($dateArray)-1;$i++) {
echo $dateArray[$i] . " - " . $dateArray[$i+1] . "<br>";
}
对于($i=0;$i问题不在于函数本身,而在于打印它的方式(双增量)。请尝试以下循环:
for($i=0; $i<count($dateArray)-1;$i++) {
echo $dateArray[$i] . " - " . $dateArray[$i+1] . "<br>";
}
对于($i=0;$i问题不在于函数本身,而在于打印它的方式(双增量)。请尝试以下循环:
for($i=0; $i<count($dateArray)-1;$i++) {
echo $dateArray[$i] . " - " . $dateArray[$i+1] . "<br>";
}
$i=0;$i的