Exécution du code incorrecte
Résolu
Joker_
Messages postés
190
Statut
Membre
-
Joker_ Messages postés 190 Statut Membre -
Joker_ Messages postés 190 Statut Membre -
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.