Bonsoir,
Toujours sur le thème des arrays et de boucles imbriquées, j'ai un autre problème.
Une première boucle while pour les 6 premier mois de l'année (1 semestre)
Une deuxième boucle while pour le nombre de jours du mois.
Jusqu'ici rien de compliqué.
A chaque jour correspond un texte (récupéré via formulaire)
Par exemple:
$text_mois1 est un array qui contient 31 elements "texte" correspondant au mois de janvier
$text_mois2 est un array qui contient 28 elements "texte" correspondant au mois de février
etc...
Ces différents array sont englobés dans le tableau $champ_name.
Avec echo $champ_name[$mois], j'affiche le texte qui correspond à chaque jour de chaque mois du semestre.
Voici, mon petit souci, lorsque, lorsque j'exécute ce bout de code, des message d'erreurs apparaissent.
Notice: Undefined offset: 28 in...
Notice: Undefined offset: 29 in...
Cela parce que les tableaux $text_mois1, $text_mois2,... n'ont pas de même longueur (ne contiennent pas le même nombre d'éléments).
$text_mois1[$day] boucle sur 31 jours (31 éléments et pas de souci), mais $text_mois2[$day] qui contient 28 éléments, boucle également sur 31 jours ( et affichage des messages d'erreurs, cités plus haut).
Pour éviter ce problème, je complète les tableaux $text_mois, par des éléments vide, pour qu'ils aient tous la même longueur (31 éléments).
Mais, vous en doutez, c'est un bricolage de deux sous...
Voilà, je suis à l'écoute de toutes propositions ou améliorations.
$mois=0;
while($mois<6){
$date_jour1_mois= mktime(0,0,0,$mois1+$mois,1,$annee);
$nb_jour_mois=date('t',$date_jour1_mois);
$day=0;
while( $day<$nb_jour_mois){
$champ_name=array($text_mois1[$day],$text_mois2[$day],$text_mois3[$day],$text_mois4[$day],$text_mois5[$day],$text_mois6[$day]);
echo $champ_name[$mois] ;
$date_jour1_mois=mktime(0,0,0,$mois1_semestre_sess+$mois,1+$day,$annee_trimestre_sess);
$day++;
}
$mois++;
}