[PHP] Trier 3 valeurs
                                    
                        Nico                    
                                    -
                                     
Alain42 -
        Alain42 -
        Bonjour, 
je souhaite trier 3 valeurs que je récupère par des sessions :
--------
$_SESSION['val1']
$_SESSION['val2']
$_SESSION['val3']
Ces trois variables contiennent 1 chiffre de 1 à 6.
Je souhaites les classer par ordre décroissant , exemple :
$_SESSION['val1'] = 2
$_SESSION['val2'] = 4
$_SESSION['val3'] = 1
J'affiche 421.
--------
j'ai essayé ceci :
$result[] = $_SESSION['val1'];
$result[] = $_SESSION['val2'];
$result[] = $_SESSION['val3'];
rsort($result);
foreach ($result as $value) {
switch($value) {
case '421':return 421 . "montexte";
default:return $value;
}
}
Cela m'affiche bien le plus grand des 3 chiffres donc "4" mais pas "421"
Quelqu'un a une idée ?
Merci.
                
            
                
    
    
    
        je souhaite trier 3 valeurs que je récupère par des sessions :
--------
$_SESSION['val1']
$_SESSION['val2']
$_SESSION['val3']
Ces trois variables contiennent 1 chiffre de 1 à 6.
Je souhaites les classer par ordre décroissant , exemple :
$_SESSION['val1'] = 2
$_SESSION['val2'] = 4
$_SESSION['val3'] = 1
J'affiche 421.
--------
j'ai essayé ceci :
$result[] = $_SESSION['val1'];
$result[] = $_SESSION['val2'];
$result[] = $_SESSION['val3'];
rsort($result);
foreach ($result as $value) {
switch($value) {
case '421':return 421 . "montexte";
default:return $value;
}
}
Cela m'affiche bien le plus grand des 3 chiffres donc "4" mais pas "421"
Quelqu'un a une idée ?
Merci.
        A voir également:         
- [PHP] Trier 3 valeurs
- Excel trier par ordre croissant chiffre - Guide
- Ai suite 3 - Télécharger - Optimisation
- Picasa 3 - Télécharger - Albums photo
- Photorecit 3 - Télécharger - Visionnage & Diaporama
- Logiciel pour trier les photos automatiquement - Guide
7 réponses
                        
                    bonsoir
essayes:
    
                essayes:
$result[] = $_SESSION['val1'];
$result[] = $_SESSION['val2'];
$result[] = $_SESSION['val3'];
rsort($result);
$aff="";
foreach ($result as $value) {
$aff.=$value;
} 
echo "Resultat: ".$aff;
                
                
                        
                    bonsoir,
cela ne change rien, il m'affiche toujours 4 au lieu de 421 ..
D'ailleurs je n'ai pas compris quel était l'intérêt de $aff ?
Merci tout de même pour la réponse
    
                cela ne change rien, il m'affiche toujours 4 au lieu de 421 ..
D'ailleurs je n'ai pas compris quel était l'intérêt de $aff ?
Merci tout de même pour la réponse
                        
                    Bonsoir,
Pourtant ça devrait fonctionner
pour voir si l'array est bien chargé avec les valeurs, tu essayes:
la variable $aff permet de concatener les valeurs dans la boucle avant de les afficher par un echo
    
                Pourtant ça devrait fonctionner
pour voir si l'array est bien chargé avec les valeurs, tu essayes:
$result[] = $_SESSION['val1'];
$result[] = $_SESSION['val2'];
$result[] = $_SESSION['val3'];
// visualisation du contenu de l'array $result pour verifier que tu as bien les valeurs 1  2   4
// tu devrait avoir Array(0=>1
//                          1=>2
//                         2=>4)
echo "<pre>";
print_r($result);
echo "</pre>";
//
rsort($result);
$aff="";
foreach ($result as $value) {
$aff.=$value;
} 
echo "Resultat: ".$aff;
la variable $aff permet de concatener les valeurs dans la boucle avant de les afficher par un echo
                        
                    Bonjour, 
ne change rien .. il m'affiche toujours "4" et non pas "421".
le --- print_r($result); ---- retourne bien mon tableau avec mes 3 valeurs donc ça c'est OK.
Ca doit venir de ma boucle ..
C'est pas grave, je te remercie de ton aide.
j'affiche les nombres non triés tant pis!
    
                ne change rien .. il m'affiche toujours "4" et non pas "421".
le --- print_r($result); ---- retourne bien mon tableau avec mes 3 valeurs donc ça c'est OK.
Ca doit venir de ma boucle ..
C'est pas grave, je te remercie de ton aide.
j'affiche les nombres non triés tant pis!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    le seul moyen que je vois c'est de faire :
$result = $_SESSION['val1'] . $_SESSION['val2'] . $_SESSION['val3'];
et il faudrait que je fasse un sort($result);
mais il me jette car ce n'est pas un tableau..
    
                $result = $_SESSION['val1'] . $_SESSION['val2'] . $_SESSION['val3'];
et il faudrait que je fasse un sort($result);
mais il me jette car ce n'est pas un tableau..
                        
                    Bonsoir,
si tu veux que result soit un tableau:
    
                si tu veux que result soit un tableau:
$result = array($_SESSION['val1'] , $_SESSION['val2'] , $_SESSION['val3']);
