Krsort est utilisé pour inverser les tableaux de tri par les clés (clés de grande à petite). Il maintient la corrélation entre les paires de valeurs clés inchangées et convient aux scénarios où vous devez trier par les clés.
$arr = ['a' => 3, 'b' => 1, 'c' => 2];
krsort($arr);
print_r($arr);
Le résultat de la sortie est:
Array
(
[c] => 2
[b] => 1
[a] => 3
)
array_flip est utilisé pour échanger les clés et les valeurs d'un tableau. La valeur du tableau d'origine deviendra la clé du nouveau tableau, et la clé deviendra la valeur. Ceci est utile lorsque vous devez trier par valeur ou inverser la relation de mappage.
$arr = ['a' => 3, 'b' => 1, 'c' => 2];
$flipped = array_flip($arr);
print_r($flipped);
Résultat de sortie:
Array
(
[3] => a
[1] => b
[2] => c
)
Lorsque vous devez trier dans l'ordre inverse en fonction des valeurs du tableau et que vous souhaitez conserver le mappage des clés et des valeurs du tableau d'origine, vous pouvez combiner array_flip et krsort :
Utilisez Array_flip pour transformer les valeurs en touches pour faciliter le tri par les valeurs.
Utilisez Krsort pour trier le tableau inversé dans l'ordre inverse (c'est-à-dire l'ordre inverse des valeurs de tableau d'origine).
Enfin, utilisez à nouveau Array_flip pour restaurer les clés et les valeurs pour faire trié le tableau dans l'ordre inverse.
Exemple de code:
<?php
// Tableau d'origine
$arr = ['apple' => 5, 'banana' => 3, 'orange' => 8, 'grape' => 2];
// premier pas:Retourner le tableau,La valeur devient la clé
$flipped = array_flip($arr);
// Étape 2:Par clé(C'est-à-dire la valeur du tableau d'origine)Trier dans l'ordre inverse
krsort($flipped);
// Étape 3:Flip et restaurer à nouveau,得到Trier dans l'ordre inverse后的数组
$sorted = array_flip($flipped);
print_r($sorted);
Résultat de sortie:
Array
(
[orange] => 8
[apple] => 5
[banana] => 3
[grape] => 2
)
array_flip nécessite que la valeur du tableau est unique et peut être utilisée comme clé (généralement une chaîne ou un entier), sinon elle entraînera une perte de données.
Cette méthode convient aux scénarios triés par les valeurs, et les valeurs sont uniques et appropriées en tant que clés.
Si la valeur n'est pas unique, l'utilisation de Array_flip écrasera les touches en double, ce qui donne des résultats de tri inexacts.
En combinant Array_flip et Krsort , nous pouvons facilement implémenter le tri d'ordre inverse en fonction des valeurs du tableau et maintenir la correspondance de valeur clé du tableau d'origine. Cette méthode est simple et efficace, adaptée aux scénarios avec des valeurs uniques, et est l'une des techniques pratiques pour trier les tableaux PHP.
Pour plus de conseils PHP, visitez <code> https://gitbox.net/php-tutorials </code>.