Comment cloner un objet ? :x

cs_Arkalis Messages postés 29 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 1 décembre 2008 - 28 juin 2005 à 23:16
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 29 juin 2005 à 09:11
Bonsoir,



Voila, j'ai un pb sur un projet que je suis en train de développer

je suis en train de faire des classements sur les championnats francais, volley, basket, foot etc...



et je me retrouve avec un tableau d'objets : ScoresEquipe



l'objet Equipe ayant comme attributs :

_equipe : ClassEquipe

_points : int

_victoires : int

_defaites : int

_nuls : int

_butsP : int

_butsN : int

_penalites : int

_coefficient : int

_difference : int

_exAequo : int


mon objectif étant de faire un classement de se tableau en fonction de 2 critères :

_ 1er classement qui se fera en fonction des points

_ en cas d'égalité entre 2 équipes, je ferai un classement en fonction du coefficient



j'ai procédé dans un premier temps à un classement par la fonction
usort avec une fonction de comparaison pour faire le classement en
fonction des _points



mais je bloc sur le second classement qui se fait entre 2 équipes s'ils ont les points égaux

le second classement se fait par un tri à bulle +- adapté à ma facon
mais le problème c'est que sans clonage des objets ScoresEquipe, je
peux pas faire de swap dans mon tableau



voilà ma méthode de tri :



public function faireTriCoeff() {

$this->_TOEquipesClassement;

$count = count($this->_TOEquipesClassement)-1;

$change = true;

while ($change) {

for ($i=0 ; $i<$count ; $i++) {


if ($this->_TOEquipesClassement[$i]->_points
$this->_TOEquipesClassement[$i+1]->_points) {


if
($this->_TOEquipesClassement[$i]->_coeff <
$this->_TOEquipesClassement[$i+1]->_coeff) {


$temp = clone
$this->_TOEquipesClassement[$i];



$TOEquipesClassement[$i] = clone $this->_TOEquipesClassement[$i+1];



$this->_TOEquipesClassement[$i+1] = $temp;


$change = true;

break;

}

}

$change = false;

}

}

}





Et malgrès l'utilisation de la fonction clone, le tri ne se fait pas....



quelqu'un pourrait il m'aider ? merci

1 réponse

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 juin 2005 à 09:11
Hello,



je n'ai pas bien compris ton probleme, mais le clonage d'objets est possible en php5 (que tu utilises visiblement) :



http://de2.php.net/manual/en/language.oop5.cloning.php
0
Rejoignez-nous