Exécution du code incorrecte
Résolu
Joker_
Messages postés
172
Date d'inscription
Statut
Membre
Dernière intervention
-
Joker_ Messages postés 172 Date d'inscription Statut Membre Dernière intervention -
Joker_ Messages postés 172 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
s'il vous plait mon code PHP s'exécute d'une manière incorrecte enfait j'ai créé mon propre classe Date:
lorsque je veux comparer 2 date à l'aide de ce code toujours le promgramme affiche "egaux"
merci bien de m'aider à comprendre mon problème
s'il vous plait mon code PHP s'exécute d'une manière incorrecte enfait j'ai créé mon propre classe Date:
class Date { public $j; public $m; public $a; public function __construct ($_j ,$_m ,$_a ) { $j=$_j; $m=$_m; $a=$_a; } public function compare(Date $d) { echo "exécution compare<br>"; if( ($this->a)>($d->a)) return 1; else if( $this->a<$d->a) return -1; if( $this->m>$d->m) return 1; else if( $this->m<$d->m) return -1; if( $this->j>$d->j) return 1; else if( $this->j<$d->j) return -1; if(( $this->j=$d->j)&&( $this->m=$d->m)&&( $this->a=$d->a)) return 0; } }
lorsque je veux comparer 2 date à l'aide de ce code toujours le promgramme affiche "egaux"
$date_debut = new Date('01','02','2000'); $date_fin = new Date('01','02','1999');
merci bien de m'aider à comprendre mon problème
A voir également:
- Exécution du code incorrecte
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
2 réponses
Bonjour
Le code a l'air correct, à un détail près :
il faut comparer avec des ==, pas des =
De plus, il est totalement inutile de comparer, car tu as épuisé les autres cas : quand tu es rendu là, tu as forcément $a, $j et $m égaux entre tes deux variables. Il faut donc supprimer complètement cette ligne.
Peux-tu montrer le bout de code qui utilise la méthode compare pour afficher "egaux" ? Ça ne m'étonnerait pas qu'il y ait un problème dans la manière dont le test est fait.
Le code a l'air correct, à un détail près :
if(( $this->j=$d->j)&&( $this->m=$d->m)&&( $this->a=$d->a))
il faut comparer avec des ==, pas des =
De plus, il est totalement inutile de comparer, car tu as épuisé les autres cas : quand tu es rendu là, tu as forcément $a, $j et $m égaux entre tes deux variables. Il faut donc supprimer complètement cette ligne.
Peux-tu montrer le bout de code qui utilise la méthode compare pour afficher "egaux" ? Ça ne m'étonnerait pas qu'il y ait un problème dans la manière dont le test est fait.