[PHP5] probleme function

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

  1. 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
    1. 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
    2. 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 :)
    3. merci je vais essayer ca
    4. le return marche mais jai tjrs le probleme avec la fonction sortList. elle sert a trier des objets par priorité (variable prio)
    5. 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;
      }