我试图在获取mysql结果后将数组返回到第一个状态。 Mysql结果给出了30到110之间的数字。
在for循环之后,如果在110之后没有更多数字,我试图将数组设置回30 (或索引0)。有没有办法设置这个? 我也尝试设置为0,但它什么也没给我。
$uzmi_podstanice = "SELECT * FROM objekt WHERE vrsta_objekta = '2' ORDER BY sifra ASC";
$pronasao_sve_podstanice = $db->query($uzmi_podstanice);
while($rowss = $pronasao_sve_podstanice->fetch_assoc()) {
$svaka_sifra[] = $rowss['sifra'];
}
$pocetni_datum_vrti = new DateTime($sutrasnji_datum);
$zavrsni_datum_vrti = new DateTime($datum_prestanka);
$x = 0;
$i = 0;
$kkk = 0;
$hhh = 0;
for($q = $pocetni_datum_vrti; $q <= $zavrsni_datum_vrti; $q->modify('+1 day')){
$rezultat_datuma = $q->format("Y-m-d");
for ($i=0; $i < $podstanice_prijepodne; $i++) {
if(isset($svaka_sifra[$kkk])){ // kontroliraj postoji li taj broj podstanice
if($podstanice_prijepodne >= $i) {
$values = "('$rezultat_datuma', '$svaka_sifra[$kkk]')PRIJEPODNE" . "<br />";
$kkk++;
echo $values;
} else {
break;
}
} else { //IF THERE IS MORE NUMBERS AFTER 110 CONTROLE THIS
// trying to set $svaka_sifra to index 0 back
}
}
for ($x=0; $x < $podstanice_poslijepodne; $x++) {
if(isset($svaka_sifra[$kkk])){
if($podstanice_poslijepodne >= $x) {
$values2 = "('$rezultat_datuma', '$svaka_sifra[$kkk]')POSLJEPODNE" . "<br />";
$kkk++;
echo $values2;
} else {
break;
}
} else { // IF THERE IS MORE NUMBERS AFTER 110 CONTROLE THIS
echo "no more results"; // trying to set $svaka_sifra to index 0 back
}
}
}
这应该适用于每个日期,我试图控制它回到循环,设置它从头开始..
答案 0 :(得分:2)
您无法将数组变量$ svaka_sifra设置为0,因为您将覆盖变量值。
您只需将索引值(在您的情况下为$ kkk)更改为零。
$kkk = 0