Tri tableau multidimensionnel, problème array_multisort

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tri tableau multidimensionnel, problème array_multisort

par fab » 04 janv. 2009, 19:08

Au plaisir :)

par supercanard » 04 janv. 2009, 18:15

Ah oui on en oublierait presque les fonctions simple de php ^^

Merci bien !

Voilà le problème est réglé :
// Tri final
				arsort($tabClassement);
				foreach($tabClassement as $k=>$v)
				{
					$finalResult[$k]['nb'] = $tabResult[$k]['nb'];
					$finalResult[$k]['title'] = $tabResult[$k]['title'];
					$finalResult[$k]['description'] = $tabResult[$k]['description'];
					$finalResult[$k]['url'] = $tabResult[$k]['url'];
					$finalResult[$k]['domaine'] = $tabResult[$k]['domaine'];
					$finalResult[$k]['pertinence'] = $tabResult[$k]['pertinence'];
				}

par fab » 04 janv. 2009, 17:46

Regarde la fonction asort je crois pour le tri de ton tableau :)
http://fr.php.net/asort

par supercanard » 04 janv. 2009, 17:34

Je pense que tu n'as pas d'autre choix que de passer par une boucle qui lit ton tableau et qui stock les nb dans un autre tableau et ensuite de reconstruire le premier tableau :)
hummm je comprend moyennement
L'idée serais donc d'avoir un autre tableau qui contiene les nb et les id de l'autre tableau :

Array ( [0] => Array ( [idPage] => 278 ) [1] => Array ( [nb] => 14 ) [2] => Array ( [idPage] => 3081 )...

Enssuite je tri ce tableau sur les nb ( dailleur je n'y arraive toujours pas même sur ce tableau... )

Et ensuite je boucle le deuxième tableau et je reconstruit l'autre dans le bon ordre ???

EDIT : Oups mon tableau était faux, voilà ce que ça me fait pour ce tableau de nb :
Warning: array_multisort() [function.array-multisort]: Argument #2 is expected to be an array or a sort flag in ...
Array ( [0] => Array ( [idPage] => 2030 [nb] => 27 ) [4] => Array ( [idPage] => 3787 [nb] => 21 ) [5] => Array ( [idPage] => 7758 [nb] => 18 ) [16] => Array ( [idPage] => 7743 [nb] => 9 ) [28] => Array ( [idPage] => 2146 [nb] => 9 ) [nb] => ) 

par fab » 04 janv. 2009, 15:55

Je pense que tu n'as pas d'autre choix que de passer par une boucle qui lit ton tableau et qui stock les nb dans un autre tableau et ensuite de reconstruire le premier tableau :)

par supercanard » 04 janv. 2009, 15:39

Oups... ben oui.

De plus array-multisort réindexe les clés numériques, hors il ne faut pas que la clé principale soit changé, mais juste que le tableau soit retrié en fonction de nb.

J'ai l'impression d'être un peu bloqué :roll:

par fab » 04 janv. 2009, 15:26

array_multisort te demande un tableau ( array ) en premier paramètre, là tu transmets or dans ton cas 'nb' est une clef de ton tableau.
De plus $tabResult['nb'] ne doit surement pas exister

Tri tableau multidimensionnel, problème array_multisort

par supercanard » 04 janv. 2009, 14:55

Bonjour,

J'essaye de trier un tableau multidimensionnel mais la fonction me renvoi une erreur :

Warning: array_multisort() [function.array-multisort]: Argument #1 is expected to be an array or a sort flag in...

Je n'arrive pas à comprendre ce qui cloche...

Voici ce que j'ai fait pour essayer de trier sur la clé nb :

array_multisort($tabResult['nb'], SORT_NUMERIC, SORT_DESC, $tabResult);

Sur ce tableau :
Array ( 
[278] => 
Array ( [nb] => 14 
[title] => XHTML / CSS - Les forums - Toutes vos questions sur la réalisation de sites web en XHTML et CSS 
[description] => Toutes vos questions sur la réalisation de sites web en XHTML et CSS 
[url] => http://www.siteduzero.com/forum-81-122.html?visite=1&is_new=1 [domaine] => www.siteduzero.com 
[pertinence] => bonne ) 
[55] => 
Array ( [nb] => 9 
[title] => AlsacréationS apprendre XHTML, les CSS et les standards W3C de la conception Web 
[description] => Alsacreations, conception de sites web HTML et CSS conformes aux standards W3C et accessibles aux personnes handicapees 
[url] => http://www.alsacreations.com/ 
[domaine] => www.alsacreations.com 
[pertinence] => bonne )
}