Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 11-10-2007 12:00:15

borntorun
Nouveau membre
Date d'inscription: 06-08-2007
Messages: 3

utilisation de usort dans un controlleur

Bonjour,
je crée un tableau issu d'un fichier csv grâce à la fonction fgetscsv.
Je veux ensuite trier ce tableau sur les clés 6 et 7 grâce à la fonction php usort.
Il faut pour cela créer une fonction callback de tri qui renvoie 0, 1 ou 2.
Comment  dois-je appeler cette fonction de tri dans le usort, sachant que même si elle est dans la même classe il ne la trouve pas ?
J'ai toujours erreur de tri comme message,
ainsi que
Warning: usort() [function.usort]: Invalid comparison function. in E:\wamp\phenix\www\mtm\trunk\application\controllers\AffichageController.php on line 202
J'en déduis qu'il ne trouve pas la fonction compare1, mais je ne sais pas comment lui dire que cette fonction se trouve dans la même classe (self::compare() ne marche pas non plus)
Même en mettant comme nique instruction "return 1;" dans la fonction compare1, j'ai ces mêmes messages d'erreur.

Exemple

class AffichageController extends Zend_Controller_Action
{
    function compare1($a, $b)
    {
         if(strcmp($a[6], $b[6])==0)
             return compare2($a, $b);
         return(strcmp($a[6], $b[6]);
    }
    function compare2($a, $b)
    {
         return(strcmp($a[7], $b[7]);
    }
    function importerFichierAction()
    {
         ......
         $ligneFichier = array();
         while (($dataLigne = fgetcsv($handle, 1000, ";")) !== FALSE)
         {
              array_push($ligneFichier, $dataLigne);
         }
         if(usort($ligneFichier, "compare1")===false)
         {
              $this->view->message = "Erreur de tri");
          }
         .........
   
    }

Hors ligne

 

#2 11-10-2007 12:28:23

superloulou77
Membre
Date d'inscription: 11-10-2007
Messages: 10

Re: utilisation de usort dans un controlleur

remplace

Code:

function compare1($a, $b)

par

Code:

private function compare1($a, $b)

Hors ligne

 

#3 11-10-2007 12:44:23

borntorun
Nouveau membre
Date d'inscription: 06-08-2007
Messages: 3

Re: utilisation de usort dans un controlleur

Désolé superloulou77, ça ne change rien

Hors ligne

 

#4 11-10-2007 13:02:50

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: utilisation de usort dans un controlleur

Dans les commentaires de la doc :
http://fr.php.net/manual/fr/function.usort.php#64034

usort($arr_to_sort, array($this, 'nom_methode'));


Société : Direct Info Service

Hors ligne

 

#5 11-10-2007 13:26:45

borntorun
Nouveau membre
Date d'inscription: 06-08-2007
Messages: 3

Re: utilisation de usort dans un controlleur

Merci beaucoup, ça marche beaucoup mieux comme ça smilesmile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages