En PHP, il existe plusieurs méthodes courantes qui peuvent implémenter l'interchange des valeurs de clés du tableau. Différentes méthodes s'adaptent à différents scénarios, et le choix du bon algorithme peut améliorer les performances du programme.
Array_flip () est une fonction conçue pour l'échange de valeurs de clé Array et fonctionne parfaitement en performance. Lorsque le tableau est grand, c'est le meilleur choix.
$new_array = array_flip($old_array);
Les échanges de valeurs clés sont effectués en traversant manuellement le tableau. Cette méthode est flexible et peut être adaptée à une variété de scénarios, en particulier lorsque le tableau est petit ou que la valeur clé a une relation spécifique.
$new_array = [];
foreach ($old_array as $key => $value) {
$new_array[$value] = $key;
}
Cette méthode se fait en extraction des clés et des valeurs en différents tableaux séparément et en les recombinant en utilisant array_combine (). Convient pour les scénarios où les valeurs clés sont liées.
$keys = array_keys($old_array);
$values = array_values($old_array);
$new_array = array_combine($values, $keys);
Le choix de différents algorithmes sera affecté par une variété de facteurs, comprenant principalement la taille du tableau, le type de clé et la relation entre les valeurs clés.
Pour les tableaux plus grands, Array_flip () offre des performances optimales. Les boucles d'auto-écriture conviennent au traitement de petits tableaux.
Lorsque les touches du tableau sont des chaînes, le fonctionnement des valeurs de clé d'échange sera plus lent. En revanche, l'échange de clés numériques est plus rapide.
S'il existe une relation spéciale entre les clés et les valeurs d'un tableau (par exemple, les clés sont des valeurs numériques et les valeurs sont des chaînes), une boucle d'auto-écriture ou Array_combine () sera plus appropriée.
$old_array = ['foo' => 1, 'bar' => 2];
// Échange efficace des valeurs clés à l'aide de boucles d'auto-écriture
$new_array = [];
foreach ($old_array as $key => $value) {
$new_array[$value] = $key;
}
$old_array = ['John' => 'Doe', 'Jane' => 'Smith'];
// utiliser array_flip() Obtenez la meilleure performance
$new_array = array_flip($old_array);
$old_array = [1 => 'foo', 2 => 'bar', 3 => 'baz'];
// utiliser array_combine() et array_values() Préserver la corrélation de la valeur clé
$keys = array_keys($old_array);
$values = array_values($old_array);
$new_array = array_combine($values, $keys);
Cet article présente plusieurs algorithmes communs pour l'échange de valeurs clés des réseaux de PHP et analyse leurs facteurs d'influence sur les performances. Le choix de l'algorithme approprié en fonction des conditions réelles peut considérablement améliorer l'efficacité de l'exécution du code.