[PHP5] probleme function

Fermé
atx - 6 mai 2011 à 14:23
 atx - 6 mai 2011 à 15:10
Bonjour,

ca fait un moment que je bloque. Je debute en php5 et je n arrive pas a trouver mon erreur. J'ai une class qui stock des objets d'une autre class.
La fonction getList permet d'objtenir la liste des objets stocké, apres les avoir trié avec une autre fonction (sortList). Voici les 2 fonctions:

public function getList()
{
sortList();
foreach($this->list as $elem)
return $elem;
}

public function sortList()
{
function cmp($a, $b)
{
if ($a->prio == $b->prio) {
return 0;
}
return ($a->prio < $b->prio) ? -1 : 1;
}

usort($this->list, "cmp");
}

j'utilise usort pour le tri du tableau.
lorsque je j'appele getList() il me renvoi une erreure..

si quelqu'un a une idee... merci d'avance


2 réponses

Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 105
6 mai 2011 à 14:27
il te donne quoi comme erreur pour commencer ? ;)
0
Utilisateur anonyme
6 mai 2011 à 14:28
Bonjour,

Je suppose que les fonctions sont des méthodes de la classe non ?

Dans ce cas il faut faire $this->sortList(); et nom pas sortList();

Mais la méthode getList(), à quoi sert le foreach ? parce que tel quelle est écrite, elle renvoie seulement le premier élément du tableau $this->list, après un return, la fonction s'arrête forcément
0
ah ok merci,
et si je fais un echo a la place du return ca marchera ?

edit: avec echo ca marche pa non plus :x
0
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 105
6 mai 2011 à 14:39
tu as possibilité de faire une variable temporaire :

foreach($this->list as $elem)
$x ++;
$a[$x] = $elem; 
return $a


comme ça, tu te retrouve avec un tableau :)
0
merci je vais essayer ca
0
le return marche mais jai tjrs le probleme avec la fonction sortList. elle sert a trier des objets par priorité (variable prio)
0
Utilisateur anonyme
6 mai 2011 à 14:57
A quoi sert getList ?

a trier et puis rendre le tableau ?
Si c'est ça le code serait ceci :
public function getList()
{
$this->sortList();
return $this->list;
} 
0