Bonjour à tous,
Je cherche à determiner un jour dans l'année en fonction du numéro du jour dans l'année que je fourni à ma fonction.
admettons que je cherche à trouver 1er décembre et que pour ce faire je passe en paramètre à ma fonction 334
voici ma fonction :
voici maintenant le résultat du echo placé au début de ma fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public $jour_dans_le_mois = array(31,28,31,30,31,30,31,31,30,31,30,31); public $tabMois=array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"); public function jourPeriode($jourZ){ for($k=0; $k<=11; $k++) { echo $k."=>".($jourZ - $this->jour_dans_le_mois[$k]).", "; if(($jourZ - $this->jour_dans_le_mois[$k]) <= 0){ $k=12; }else{ $jourZ -= $this->jour_dans_le_mois[$k]; $j++; } }; $tabReturn=array($jourZ+1, $this->tabMois[$j]); return $tabReturn; }
dans la mesure ou j'ai cette condition :0=>303, 1=>275, 2=>244, 3=>214, 4=>183, 5=>153, 6=>122, 7=>91, 8=>61, 9=>30, 10=>0, 0=>119, 1=>91, 2=>60, 3=>30, 4=>-1,
lorsque $k est égal à 12 ne devrais-je pas sortir de cette boucle ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(($jourZ - $this->jour_dans_le_mois[$k]) <= 0){ $k=12; }
J'étais parti au départ sur une boucle encore plus simple :
et voici le résultat du echo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public function jourPeriode($jourZ){ for($i=0; $i<=11; $i++) { // cette boucle décompte tant que le numero est supérieur au nombre de jour du mois et passe au mois suivant, puis s'arrete quand le nombre correspond à la durée du mois parcouru. echo $jourZ."=>".$this->jour_dans_le_mois[$i].", "; if(($jourZ - $this->jour_dans_le_mois[$i]) > 0) { $jourZ -= $this->jour_dans_le_mois[$i]; } else { break; } ; }; $tabReturn=array($jourZ+1, $this->tabMois[$i]); return $tabReturn; }
à ce stade je n'y comprend plus rien334=>31, 303=>28, 275=>31, 244=>30, 214=>31, 183=>30, 153=>31, 122=>31, 91=>30, 61=>31, 30=>30, 150=>31, 119=>28, 91=>31, 60=>30, 30=>31,
Merci d'avance pour votre aide








Répondre avec citation



Partager