Comment puis-je trier un tableau multidimensionnel en valeur?
J'ai un tableau comme le suivant et je veux commander ce tableau par la valeur de la clé "attaque". D'abord les clés des tableaux (15, 13, 18)
sont ID de certains élément de la base de données, donc je ne veux pas de ces touches pour être changé lorsque le tableau est trié. Toute aide serait grandement appréciée.
C'est le tableau:
$data = array(
'15' => array(
'attack' => '45', 'defence' => '15', 'total' => '10'
),
'13' => array(
'attack' => '25', 'defence' => '15', 'total' => '10'
),
'18' => array(
'attack' => '35', 'defence' => '15', 'total' => '10'
)
);
Vous devez vous connecter pour publier un commentaire.
Utilisation
uasort()
:Exemple:
Si les valeurs sont toujours des chaînes, vous pouvez également utiliser
strcmp()
dans lecmp()
fonction:Mise à jour:
Pour trier dans l'ordre décroissant, il vous suffit de modifier les valeurs de retour:
ou pour ramasser @salathe de la proposition:
$a['attack'] - $b['attack'];
suffirait.true
sur la réussite (mentionnés dans la documentation je lien). Si vous souhaitez imprimer le résultat, vous devez imprimer le tableau.Simplement utiliser array_multisort
Espère que cette aide.