J'ai besoin de rang dans mon système. J'ai un tableau $arr = array(120,26,38,96,22);
. J'ai besoin de classer l'index à l'intérieur sans changer de position.comment classer l'index de tableau en PHP
La sortie I besoin est quelque chose comme:
120 est de rang 1, 26 est de rang 4, 38 est de rang 3, 96 est de rang 2, la figure 22 est rang 5
I » J'ai essayé ceci, mais tous classés comme rang 1:
<?php
$arr = array(120,26,38,96,22);
$rank = 0;
$score=false;
$rows = 0;
foreach($arr as $sort){
$rows++;
if($score != $arr){
$score = $arr;
$rank = $rows;
}echo $sort.' is rank '.$rank.'</br>';
}
?>
Et aussi j'ai besoin que la longueur de tableau soit dynamique.
Quel genre de logique 'rank' avez-vous? – JustOnUnderMillions
Je le ferais en créant une deuxième copie du tableau $ arr puis le trier, puis trouver l'index # dans le tableau trié pour chaque valeur dans le tableau non trié .. Des dizaines de façons possibles de le faire voir http: // php. net/manual/fr/ref.array.php –
Si toutes les positions sont uniques, faites: 'sort ($ arr); $ result = array_map (fonction ($ a) {return $ a + 1;}, array_flip ($ arr)); ' – JustOnUnderMillions