Bonjour,
Voila je rencontre un petit problème avec mon code.
je souhaite savoir comment faire un trie croissant ou par ordre alphabétique d'un tableau associatif.
Apres un print_r
j'obtiens ceci :
Array
(
[0] => Array
(
[fournisseur1] => 'vente de tomate fr1'
)
[1] => Array
(
[fournisseur4] => 'vente fraise fr4'
)
[2] => Array
(
[fournisseur2] => 'vente de piment fr2'
)
[3] => Array
(
[fournisseur8] => 'vente de patate fr8'
)
[4] => Array
(
[fournisseur7] => 'vente de banane fr4'
)
[5] => ....
je souhaite avoir un trie par fournisseur, bien sûr, en gardant les données qui correpondent.
example :
[fournisseur1] => 'vente de tomate fr1'
[fournisseur2] => 'vente de piment fr2'
[fournisseur4] => 'vente fraise fr4'
...
j'ai essayé :
array_multisort($Montab, SORT_ASC, SORT_REGULAR);
Aucun succès.
Merci pour votre lumière.
regarde dans la doc php 'tri des tableaux' la ligne correspondant à tri par la clé
et tri croissant
-> ksort(array)
ensuite regarde l'exemple avec les oranges et les bananes ;-)
Merci pour ta réponse Huggy,
Mon souci est, les fonctions que tu m'as conseillées j'arrive à les faire fonctionner sur des tableaux associatifs simples, avec une seule entrée.
Or, dans le cas de mon mon besoin actuel, il s'agit d'un tableau multi-dimentionnel. j'ai essayé toutes les fonctions, aucun succès.
J'ai testé sans succès les fonctions suivantes comme ceci :
ksort($Montab); Krsorrt($Montab); natcasesort($Montab) ...
Merci, si t'as une idée sur les tri des tableaux associatifs multi-dimentionnels.
espère te lire.
Bonsoir,
C'est le multi-dimensions qui pose problème.
Qu'elle est l'intérêt d'avoir un tableau dans un autre si ce n'est que pour avoir une seule valeur ?
La solution serait de revenir à une dimension pour pouvoir trier votre tableau.
Je n'ai pas trop de solution mis à part fusionner les sous-tableaux
$fruits = array();
$fruits[0] = array('fournisseur3' => 'melons');
$fruits[1] = array('fournisseur2' => 'poires');
$fruits[2] = array('fournisseur1' => 'cerises');
// print_r => Array ( [0] => Array ( [fournisseur3] => melons ) [1] => Array ( [fournisseur2] => poires ) [2] => Array ( [fournisseur1] => cerises ) )
// on fusionne les sous-tableaux
$result = array();
foreach ($fruits as $t){
$result = array_merge($result, $t);
}
print_r($result); // avant le tri Array ( [fournisseur3] => melons [fournisseur2] => poires [fournisseur1] => cerises )
echo '<br/>';
asort($result);
print_r($result); /: apres le tri Array ( [fournisseur1] => cerises [fournisseur3] => melons [fournisseur2] => poires )
Ok, Merci pour ta réponse Huggy, cela m'a mis sur la bonne voie. C'est vrai que je n'avais pas pensé à ça. Je commence à avoir un resultat satisfaisant depuis. Merci pour cette piste.