TRI TABLEAU FORMULAIRE PHP

Résolu/Fermé
ZMEX Messages postés 47 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 27 septembre 2010 - 19 avril 2009 à 04:31
ZMEX Messages postés 47 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 27 septembre 2010 - 19 avril 2009 à 13:35
Bonjour,
je suis débutant en php, je cherche à trier des valeurs récupérées d'un formulaire. J'ai créé une boucle de tri mais elle ne marche pas correctement, voilà mon script :
mon tableau est de 4 cases (zone de texte) mais en triant ces valeurs saisies par exemple (2 - 333 - 12 - 43 ) cela m'affiche (2 - 333 - 333 - 333 - )

for($i = 0 ; $i <= 3 ; $i++){
$min=$n[$i];
for($j=$i+1;$j<=3;$j++){
if($min>$n[$j]){
$min=$n[$j];
$index=$j;
$temp=$n[$i];
$n[$index]=$temp;
}
}
}
?>
<p>Les nombres dans l'ordre croissant: <?php for ($i = 0 ; $i <= 3 ; $i++){ echo($n[$i]);echo(" "); }?></p>

Où est l'erreur ????????? merci
A voir également:

3 réponses

ZMEX Messages postés 47 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 27 septembre 2010 16
19 avril 2009 à 13:35
voilà j'ai résolu mon problème merci :
<?php

$tab = array($n[0], $n[1], $n[2], $n[3]);
sort($fruits);
echo ("<b>Les nombres en ordre croissant sont : </b>");
foreach ($tab as $n[$i] => $val) {
echo ($val); echo(" - ");

}
?>
1
Utilisateur anonyme
19 avril 2009 à 10:25
si tu veux juste trier les valeurs du tableaux par ordre croissant, utilise natsort() (ou sort(), mais sort() mettra 11 juste après 1, ou 43 après 4...) :

$tableau = array(1, 3, 2, 9, 4, 6, 5, 7, 8, 10);
$tableau = natsort($tableau)     // les valeurs sont triés par ordre croissant.
0
ZMEX Messages postés 47 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 27 septembre 2010 16
19 avril 2009 à 12:51
re- ,
voilà j'ai trouvé ce bout de code qui permet de trier mes valeurs sauf que je veux afficher à la fin que mes valeurs sans leurs indices, genre :" mes valeurs en ordre croissant : 2 - 32 - 432 - 555"
quelle fonction je devrais utiliser ?

<?php
$array1 = $array2 = array($n[0], $n[1],$n[2], $n[3]);

sort($array1);
echo "Standard sorting\n";
print_r($array1);

natsort($array2);
echo "\nNatural order sorting\n";
print_r($array2);
?>

merci !
0