Position actuelle: Accueil> Derniers articles> Dans quelles circonstances, Array_flip () de PHP peut-il remplacer la fonction Array_Column ()?

Dans quelles circonstances, Array_flip () de PHP peut-il remplacer la fonction Array_Column ()?

M66 2025-05-17

Dans PHP, array_flip () et array_column () sont deux fonctions de traitement de la table couramment utilisées, mais leurs utilisations et fonctions sont différentes. Dans certains cas, Array_flip () peut être utilisé à la place de la fonction Array_Column () , en particulier sous des structures et des exigences de données spécifiques. Cet article explorera les différences entre ces deux fonctions et dans quelles circonstances array_flip () peut être utilisée comme alternative à array_column () .

1. Fonction Introduction

fonction array_flip ()

array_flip () est utilisé pour échanger des clés et des valeurs dans un tableau. Les clés du tableau deviendront des valeurs et la valeur d'origine deviendra des clés. Par exemple, supposons que nous ayons un tableau, array_flip () prendra sa valeur de tableau comme clé du nouveau tableau.

 $array = array("a" => "apple", "b" => "banana", "c" => "cherry");
$flipped = array_flip($array);
print_r($flipped);

Résultat de sortie:

 Array
(
    [apple] => a
    [banana] => b
    [cherry] => c
)
Fonction Array_Column ()

La fonction Array_Column () est utilisée pour renvoyer la valeur de la colonne spécifiée dans un tableau bidimensionnel. Il extrait toutes les valeurs de la colonne en fonction de la clé donnée et renvoie un tableau unidimensionnel.

 $array = [
    ["id" => 1, "name" => "John", "age" => 28],
    ["id" => 2, "name" => "Jane", "age" => 22],
    ["id" => 3, "name" => "Sam", "age" => 35],
];

$names = array_column($array, "name");
print_r($names);

Résultat de sortie:

 Array
(
    [0] => John
    [1] => Jane
    [2] => Sam
)

2. Utiliser la comparaison du scénario

Array_flip () et array_column () peuvent gérer les tableaux, mais ils fonctionnent différemment. Nous pouvons comparer les scénarios d'utilisation de ces deux fonctions des perspectives suivantes.

2.1 Structure de données
  • Array_Column () convient au traitement des tableaux bidimensionnels à partir desquels toutes les données d'une colonne peuvent être extraites.

  • array_flip () convient au traitement des tableaux unidimensionnels, en particulier lorsque la valeur du tableau doit être utilisée comme clé.

2.2 Quand peut-il être remplacé

La situation où array_flip () peut remplacer Array_Column () se produit généralement dans les deux situations suivantes:

  1. Lorsque la structure de données est un tableau unidimensionnel : array_flip () est un choix idéal lorsque nous voulons extraire une valeur spécifique d'un tableau unidimensionnel et l'utiliser comme clé. Par exemple, si vous avez besoin de transformer certaines valeurs dans le tableau en clés, array_flip () serait un moyen plus facile.

  2. L'objectif est d'inverser la relation clé-valeur : si nous avions à l'origine besoin d'extraire la valeur d'une colonne du tableau et espérons la convertir en clé, array_flip () peut répondre aux besoins. Par exemple, si vous avez un tableau associatif avec id => nom et que vous souhaitez l'inverser rapidement, array_flip () serait un choix plus approprié.

Exemple: utilisez array_flip () au lieu de Array_Column ()

Supposons que nous ayons les données suivantes:

 $array = [
    ["id" => 1, "name" => "John"],
    ["id" => 2, "name" => "Jane"],
    ["id" => 3, "name" => "Sam"],
];

Si nous voulons extraire tous les noms et les utiliser comme touches, nous pouvons obtenir une colonne simple à l'aide de Array_Column () , mais si nous voulons inverser ces valeurs en un tableau de paires de valeurs de clé, nous pouvons utiliser array_flip () .

La méthode Array_Column () d'origine:

 $names = array_column($array, "name");
print_r($names);

Sortir:

 Array
(
    [0] => John
    [1] => Jane
    [2] => Sam
)

Si vous utilisez array_flip () à la place, vous pouvez d'abord obtenir la colonne de nom via array_column () , puis inverser ces valeurs en touches:

 $names = array_column($array, "name");
$flipped = array_flip($names);
print_r($flipped);

Sortir:

 Array
(
    [John] => 0
    [Jane] => 1
    [Sam] => 2
)

Dans ce scénario, array_flip () extrait non seulement les données, mais peut également les convertir directement en nouvelles clés et valeurs, simplifiant ainsi le code.

3. Quand ne peut pas être remplacé

Bien que Array_flip () puisse remplacer Array_Column () dans certains cas, il n'est pas omnipotent. Voici plusieurs cas où array_flip () ne peut pas être utilisé:

  1. Traitement de tableau bidimensionnel : lorsque vous devez traiter une colonne d'un tableau bidimensionnel, array_flip () ne peut pas remplacer directement Array_Column () car Array_flip () ne convient que pour les tableaux unidimensionnels.

  2. Plusieurs valeurs de répétition : s'il y a des valeurs en double dans le tableau, en utilisant array_flip () entraînera une perte de données car lors de la conversion des valeurs de clé, cette dernière valeur écrase la même touche précédente. À ce stade, Array_Column () peut être plus approprié.

4. Résumé

  • array_flip () et array_column () sont deux fonctions de traitement de la table très couramment utilisées dans PHP, mais elles s'appliquent à différents scénarios.

  • Lors de l'extraction d'une colonne dans un tableau bidimensionnel, Array_Column () est un choix plus approprié.

  • Dans certains scénarios de tableau unidimensionnel simples, Array_flip () peut remplacer Array_Column () si les touches et les valeurs doivent être inversées et rend généralement le code plus concis.

La compréhension de leurs différences et de leurs scénarios d'utilisation aidera les développeurs à choisir les bonnes fonctions dans le développement réel pour améliorer la lisibilité et les performances du code.