Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/12/2011, 11h14   #1
Membre habitué
 
Inscription : mai 2004
Messages : 499
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 499
Points : 149
Points : 149
Par défaut Trier un tableau d'objets

Bonjour,

Dans un script, je tente de trier un tableau d'objets de cette manière :

Code :
$localites = usort($localites, array("Localite", "cmp_obj"));
Dans ma classe 'Localite', voici la méthode utilisée :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
    static function cmp_obj($a, $b)
    {
        $al = strtolower($a->getNom());
        $bl = strtolower($b->getNom());
 
        if ($al == $bl) 
        {
            return 0;
        }
 
        return ($al > $bl) ? +1 : -1;
    }
Lors de l'exécution, j'obtiens l'erreur suivante :

Citation:
Warning: usort() expects parameter 2 to be a valid callback, class 'Localite' not found in C:\wamp\www\Symfony\src\Hotels\GestionAnnoncesBundle\Entity\LocaliteRepository.php line 63
Quelqu'un aurait une idée?

Merci d'avance pour votre aide.
dubitoph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 12h10   #2
Membre habitué
 
Inscription : mai 2004
Messages : 499
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 499
Points : 149
Points : 149
Je viens de trouver la solution. La fonction usort ne tenait pas compte du use de la classe que j'avais indiqué en début de fichier. J'ai donc fais ceci :

Code :
usort($localites, "Hotels\GestionAnnoncesBundle\Entity\Localite::cmp_obj");
Tout est maintenant OK.
dubitoph est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h42.


 
 
 
 
Partenaires

Hébergement Web