La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  usort et objets
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: usort et objets  (Lu 919 fois)
usort et objets
« sur: le 24-05-2005 a 02:01:49 »
MarvinLeRouge
Superactif
****

Hors-Ligne

Messages: 584





Voir le Profil    WWW
Répondre avec citation

Salut,

J'ai récupéré un paquet de données provenant d'une base de données dans un tableau : une ligne de données récupérée par mysql_fetch_assoc directement ajoutée au tableau en question. J'ai donc un tableau dont chaque ligne est un tableau associatif.
Les clés de ces lignes contiennent notamment date, theme et titre.
Je voudrais pouvoir trier l'ensemble du tableau d'un coup, par (date décroissante, titre croissant), puis par (theme croissant, titre croissant).
J'ai regardé du côté des fonctions de tri de tableaux, mais l'utilisation de array_multisort dans ce cas ne me parait pas évidente du tout.
Et usort ne semble pas fonctionner quand la fonction de tri et le tableau cible font partie d'un objet.

Quelqu'un pourrait m'aider, svp ?

Merci

Code pour la création du tableau
Code:
$tabData = array ();
while ($lineData = mysql_fetch_assoc ($resultSql))
{
array_push ($tabData, $lineData);
}


Et démonstration du problème avec usort dans un objet
Dans un objet
Code:
class test
{
  var $tabTest = array ();

  function tri ($x, $y)
  {
    $result = ($x == $y ? 0 : ($x > $y ? -1 : 1));
    return ($result);
  }

  function test ()
  {
    $this->tabTest = range (0, 9);
    print_r ($this->tabTest);
    usort ($this->tabTest, "tri");
    print_r ($this->tabTest);
  }
}
new test ();


Hors d'un objet
Code:
function tri ($x, $y)
{
  $result = ($x == $y ? 0 : ($x > $y ? -1 : 1));
  return ($result);
}
 
$tabTest = array ();
$tabTest = range (15, 25);
print_r ($tabTest);
usort ($tabTest, "tri");
print_r ($tabTest);

« Dernière Édition: le 24-05-2005 a 02:02:31 par MarvinLeRouge » Rapporter au modérateur  

Développeur web / Création de site internet
jean@ceugniet.com
Jean Ceugniet, Développement web
SIRET : 523 611 044 00018

Re:usort et objets
« Répondre #1 sur: le 25-05-2005 a 10:43:20 »
ZeTrum
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 31



Je suis un paon ;)

Voir le Profil    WWW
Répondre avec citation

quand tu utilises une méthode pour trier, tu dois faire ça :
Code:
usort ($this->tabTest, array('test, 'tri'));

Rapporter au modérateur  

Une jolie page : http://xrl.us/kdmg
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg