Deuxième problème:
____________________________________________________________________________
Encore un besoin d'aide ^^'
La fonction PHP array-multisort() trie bien le tableau multi dimension
mais il trie dimension par dimension.
Serait-il possible de trier un tableau multidimensionnel toutes ses dimensions comprises et non suivant l'une ou l'autre ?
Mon code est opérationnel. il donne un aperçu, pour mieux comprendre... :
_____________________________________________________________________________
Premier problème: résolu !
Bonsoir,
voilà maintenant un pti' moment que je patauge dans mon code.
J'aimerai juste trier mon tableau classement en fonction de l'évo' (plus grande à la plus petite)
Un conseil, une remarque, une aide, svp.
Modifié par ekke (17 May 2012 - 03:49)
____________________________________________________________________________
Encore un besoin d'aide ^^'
La fonction PHP array-multisort() trie bien le tableau multi dimension
mais il trie dimension par dimension.
Serait-il possible de trier un tableau multidimensionnel toutes ses dimensions comprises et non suivant l'une ou l'autre ?
Mon code est opérationnel. il donne un aperçu, pour mieux comprendre... :
<?php
$id=1; $pages=5;
for($id=1; $id<$pages; $id++){
//Récupère les valeurs des pages.
$page = file_get_contents("http://www.shinobi.fr/index.php?page=classement&village=gensou&p=$id");
$found1 = (int) preg_match_all('#<td class="nom">(.*)</td>#isU', $page, $pseudo[$id], PREG_PATTERN_ORDER);
$found2 = (int) preg_match_all('#<td class="droite evolution">(.*)</td>#isU', $page, $evo[$id], PREG_PATTERN_ORDER);
$classement[$id] = array_combine($pseudo[$id][0], $evo[$id][1]);
arsort($classement[$id]);
foreach($classement[$id] as $key => $value){
echo 'Pseudo: ' . $key . ' -*- Evo: ' . $value . ' <br />';
}
echo "<br/>";
}
?>
_____________________________________________________________________________
Premier problème: résolu !
Bonsoir,
voilà maintenant un pti' moment que je patauge dans mon code.
J'aimerai juste trier mon tableau classement en fonction de l'évo' (plus grande à la plus petite)
Un conseil, une remarque, une aide, svp.

<?php
$id=1;
$page = file_get_contents("http://www.shinobi.fr/index.php?page=classement&village=gensou&p=1");
$found1 = (int) preg_match_all('#<td class="nom">(.*)</td>#isU', $page, $pseudo, PREG_PATTERN_ORDER);
$found2 = (int) preg_match_all('#<td class="droite evolution">(.*)</td>#isU', $page, $evo, PREG_PATTERN_ORDER);
$classement = array_merge((array)$pseudo, (array)$evo);
array_multisort($classement[0], SORT_STRING,
$classement[2], SORT_NUMERIC, SORT_DESC);
print_r($classement);
echo "<br/><br/>";
for($pl=0; $pl<min(20, $found1, $found2); $pl++){
printf('Pseudo: %s -*- Evo: %s <br/>', $classement[0][$pl], $classement[2][$pl]);
}
?>
Modifié par ekke (17 May 2012 - 03:49)