2013-02-06 3 views
1

Mon premier tableau:tri du tableau PHP par tableau, correspondent à la clé

normalArray 
(
    [0] => Business Class 
    [2] => Economy 
    [6] => First Class 
) 

Mon tableau de tri:

sortArray 
(
    [0] => Economy 
    [1] => Business Class 
    [2] => First Class 
) 

Je suis en train d'obtenir ce que mon résultat

resultsArray 
(
    [2] => Economy 
    [0] => Business Class 
    [6] => First Class 
) 

Remarque que la clé et la valeur doivent suivre le bon ordre. Donc, je devrais trier tableau par un tableau tout en gardant la clé de la valeur.

J'ai cherché autour et regardé beaucoup d'exemples différents.

Merci

+0

http://stackoverflow.com/questions/348410/sort-an-array-based-on-another-array –

+1

@tony ce que u utiliser pour le tableau de tri? –

Répondre

0

Essayez ceci:

$map = array_flip($sortArray); 
uasort($normalArray,function($a,$b) use ($map) {return $map[$a] < $map[$b] ? -1 : 1}); 
+0

Merci !!! cela fonctionne – tony

0

Je crois que ce que vous cherchez est asort.

+0

Asort ne fournit pas les mêmes résultats dans la recherche, l'ordre de résultat devra être identique à celui de mon autre tableau. – tony

1

Essayez cette asort() ou arsort()

Exemple:

<?php 
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); 
asort($fruits); 
--OR-- 
arsort($fruits); 
foreach ($fruits as $key => $val) { 
    echo "$key = $val\n"; 
} 
?> 

L'exemple ci-dessus sortie:

a = orange 
d = lemon 
b = banana 
c = apple 

Pour plus d'fonction de tri des attributs vérifier cette link.

cela peut-il vous aider.

0

Essayez cette arsort()

Exemple:

normalArray 
(
    [0] => Economy 
    [2] => Business Class 
    [6] => First Class 
) 

L'exemple ci-dessus sortie:

resultsArray 
(
    [2] => Business Class 
    [0] => Economy 
    [6] => First Class 
) 
+0

Faire un arsort ou ne pas fournir le résultat im demander. La commande devra être la même que celle de mon tableau de tri. Pas seulement en vérifiant par ordre alphabétique. Merci resultsArray ( [2] => Economie [0] => Classe Affaires [6] => Première classe ) – tony