Position actuelle: Accueil> Derniers articles> Méthode d'échange de valeurs de clé PHP Array et meilleure sélection d'algorithmes

Méthode d'échange de valeurs de clé PHP Array et meilleure sélection d'algorithmes

M66 2025-07-11

Méthode d'échange de valeurs de clé PHP Array et meilleure sélection d'algorithmes

En PHP, les tableaux sont une structure de données ordonnée et clés. Le swap de valeur clé fait référence à l'échange de clés et de valeurs dans un tableau pour créer un nouveau tableau. Selon le type de données de l'élément de tableau, différents algorithmes peuvent être sélectionnés pour implémenter l'interchange de valeurs clés.

Sélection d'algorithme

Type de données algorithme
Tableau associatif (la clé est une chaîne ou un entier) array_flip ()
Tableau normal (la clé est un entier) asort () + array_keys ()
Tableau d'objets array_map () + fonction de rappel personnalisée

Cas pratiques

Tableau associatif

Lorsque les clés d'un tableau sont des chaînes ou des entiers, la fonction array_flip () peut être utilisée pour implémenter l'interchange de valeurs clés.

 $arr = ['name' => 'John', 'age' => 30];
$flippedArr = array_flip($arr);
print_r($flippedArr);

Résultat de sortie:

 Array
(
    [John] => name
    [30] => age
)

Tableau normal

Pour un tableau normal où la clé est un entier, utilisez d'abord ASORT () pour trier le tableau, puis utilisez array_keys () pour obtenir la nouvelle clé.

 $arr = [1, 2, 3, 4, 5];
asort($arr);
$flippedArr = array_keys($arr);
print_r($flippedArr);

Résultat de sortie:

 Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Tableau d'objets

Pour les tableaux contenant des objets, vous pouvez utiliser array_map () avec une fonction de rappel personnalisée pour implémenter l'interchange de valeurs clés.

 class Person {
    public $name;
    public $age;
}

$person1 = new Person();
$person1->name = 'John';
$person1->age = 30;

$person2 = new Person();
$person2->name = 'Mary';
$person2->age = 25;

$arr = [$person1, $person2];
$flippedArr = array_map(function ($obj) {
    return [$obj->name, $obj];
}, $arr);
print_r($flippedArr);

Résultat de sortie:

 Array
(
    [John] => Person Object
    (
        [name] => John
        [age] => 30
    )
    [Mary] => Person Object
    (
        [name] => Mary
        [age] => 25
    )
)

Ce qui précède sont plusieurs méthodes courantes et cas pratiques d'échange de valeurs clés dans les réseaux de PHP. Le choix de l'algorithme approprié en fonction de différents types de données peut améliorer l'efficacité et la lisibilité du programme.