Bonjour

J'ai un tableau


$mon_array = array(
"0" => "12",
"1" => "4",
"2" => "6"
);

// et quand je fais

print_r($mon_array);

// J'ai

array(
"0" => "12",
"1" => "4",
"2" => "6"
);

// Mais je voudrais que les éléments de $mon_array s'affichent par ordre croissant. Comme :

array(
"0" => "4",
"1" => "6",
"2" => "12"
)


Y aurait il une fonction php pour faire ça?

Merci et bonne journée.
Modifié par nancyAlex (23 Jul 2014 - 15:54)
Modérateur
Bonjour,

Pas à ma connaissance. Mais tu peux dans un premier temps trier par ordre croissant les valeurs dans ton array() (asort()) puis tu boucles avec un foreach() sur les valeurs en créant un nouvel array() avec les clés dans l'ordre que tu souhaitais.
Pas le temps de te montrer de code, mais ça devrai le faire, ceci dit, il y a peut-être plus simple... Smiley cligne
Modifié par jojaba (23 Jul 2014 - 18:22)
Modérateur
Ah ben oui, sort() trie les valeurs et réaffecte les nouvelles clés. J'avais jamais remarqué ça !!! On en apprend tous les jours. Merci QuentinC.
Pour tester :
<?php
$mon_array = array(
"0" => "12",
"1" => "4",
"2" => "6"
);

// array sans modif
echo 'Array normal :<br>';
print_r($mon_array);
echo '<br><br>';

// array après sort
sort($mon_array);
echo 'Array dans l\'ordre après passage par sort() :<br>';
print_r($mon_array);
?>