Position actuelle: Accueil> Derniers articles> Utilisez array_flip () pour inverser la valeur et la clé, puis traitez les statistiques

Utilisez array_flip () pour inverser la valeur et la clé, puis traitez les statistiques

M66 2025-06-07

Dans php, array_flip () et array_count_values ​​() sont deux fonctions couramment utilisées. array_flip () est utilisé pour échanger les clés et les valeurs d'un tableau, tandis que array_count_values ​​() est utilisé pour compter les occurrences de toutes les valeurs du tableau. En combinant ces deux fonctions, les données de tableau peuvent être facilement traitées et des opérations de données plus complexes peuvent être réalisées.

1. Fonction array_flip ()

La fonction array_flip () peut échanger les touches et les valeurs d'un tableau. C'est-à-dire que les clés du tableau deviennent des valeurs et la valeur devient des clés. Il convient de noter que les valeurs dans le tableau doivent être uniques, sinon les données seront perdues.

 $array = [
    'apple' => 5,
    'banana' => 3,
    'orange' => 4,
];

$flippedArray = array_flip($array);
print_r($flippedArray);

Sortir:

 Array
(
    [5] => apple
    [3] => banana
    [4] => orange
)

Dans cet exemple, la fonction array_flip () intervient les valeurs de clé dans le tableau d'origine pour obtenir un nouveau tableau où la valeur d'origine devient une nouvelle clé.

2. Fonction array_count_values ​​()

La fonction array_count_values ​​() compte le nombre d'occurrences de chaque valeur dans le tableau. Il renvoie un tableau associatif où les clés sont des valeurs dans le tableau, et les valeurs sont le nombre de fois que ces valeurs apparaissent dans le tableau.

 $array = ['apple', 'banana', 'orange', 'apple', 'banana', 'apple'];

$countedArray = array_count_values($array);
print_r($countedArray);

Sortir:

 Array
(
    [apple] => 3
    [banana] => 2
    [orange] => 1
)

Dans cet exemple, array_count_values ​​() compte le nombre d'occurrences de chaque fruit dans le tableau et renvoie le résultat en tant que nouveau tableau.

3. Utilisez array_flip () et array_count_values ​​() en combinaison

Supposons que vous ayez un tableau contenant le nom du produit et son prix. Vous souhaitez inverser le tableau par array_flip () , puis compter le nombre d'occurrences de chaque prix. Vous pouvez suivre les étapes suivantes:

 $array = [
    'apple' => 5,
    'banana' => 3,
    'orange' => 5,
    'grape' => 3,
    'peach' => 4,
];

$flippedArray = array_flip($array);
print_r($flippedArray);

// Statistiques Le nombre de fois le prix apparaît
$countedArray = array_count_values($flippedArray);
print_r($countedArray);

Sortir:

 Flipped Array:
Array
(
    [5] => apple
    [3] => banana
    [4] => peach
)

Counted Array:
Array
(
    [apple] => 1
    [banana] => 1
    [peach] => 1
)

4. Exemple complet: Obtenez des données de l'URL et traitez-la

Supposons que nous ayons un tableau de multiples URL et que nous voulions extraire le nom de domaine de chaque URL et compter le nombre d'occurrences de chaque nom de domaine. Nous pouvons d'abord utiliser array_flip () pour échanger les clés et les valeurs du tableau, puis utiliser array_count_values ​​() pour compter la fréquence de chaque nom de domaine.

 $urls = [
    'https://www.m66.net/product1',
    'https://www.m66.net/product2',
    'https://www.m66.net/product3',
    'https://www.example.net/product1',
    'https://www.m66.net/product4',
];

// Extraire le nom de domaine
$domains = array_map(function($url) {
    return parse_url($url, PHP_URL_HOST);
}, $urls);

// Réverse
$flippedDomains = array_flip($domains);
print_r($flippedDomains);

// Statistiques Le nombre d'occurrences de noms de domaine
$countedDomains = array_count_values($flippedDomains);
print_r($countedDomains);

Sortir:

 Flipped Domains:
Array
(
    [m66.net] => https://www.m66.net/product1
    [example.net] => https://www.example.net/product1
)

Counted Domains:
Array
(
    [m66.net] => 4
    [example.net] => 1
)

Dans cet exemple, la fonction array_flip () est utilisée pour échanger des noms de domaine et des URL. Après cela, nous comptons le nombre d'occurrences de chaque nom de domaine via array_count_values ​​() . Le résultat montre que le nom de domaine m66.net apparaît 4 fois, tandis que le nom de domaine Exemple.net n'apparaît qu'une seule fois.

Espérons que cet article vous aide à mieux comprendre comment utiliser array_flip () et array_count_values ​​() en combinaison pour traiter les données du tableau. Avec la combinaison de ces fonctions, vous pouvez facilement inverser les paires de valeurs clés dans le tableau et compter la fréquence des données, soutenant l'analyse et le traitement des données supplémentaires.