Maison  >  Article  >  développement back-end  >  Explication détaillée de l'utilisation de la fonction PHP array_diff_key()

Explication détaillée de l'utilisation de la fonction PHP array_diff_key()

WBOY
WBOYoriginal
2023-06-27 09:23:571978parcourir

En PHP, le tableau est un type de données très courant. Dans de nombreux cas, nous devons comparer et traiter différents tableaux. La fonction array_diff_key() en PHP peut très facilement comparer les valeurs clés dans deux ou plusieurs tableaux et implémenter le traitement des différences entre les tableaux. Cet article présentera en détail l'utilisation et des exemples de la fonction PHP array_diff_key().

1. Introduction à la fonction array_diff_key()

La fonction array_diff_key() est l'une des fonctions intégrées de PHP. Sa fonction est de rechercher les clés qui existent dans le premier tableau mais qui n'existent pas dans un ou plusieurs tableaux suivants, et de renvoyer un tableau composé de ces clés.

La syntaxe de cette fonction est la suivante :

array array_diff_key ( array $array1 , array $array2 [, array $... ] )

Parmi eux, array1 est le tableau d'origine qui doit être comparé, et array2 est le tableau cible qui doit être comparé. Si un troisième tableau est donné, la fonction continue la comparaison avec ce tableau, et ainsi de suite jusqu'au dernier tableau.

2. La valeur de retour de la fonction array_diff_key()

array_diff_key() renvoie un tableau. Le tableau stocke les clés qui existent dans le premier tableau mais n'existent pas dans un ou plusieurs tableaux suivants, le nom de la clé du. le tableau renvoyé est le nom de clé du tableau d'origine et la valeur clé du tableau renvoyé est la valeur clé du tableau d'origine.

Si le tableau d'origine et le tableau cible sont exactement les mêmes, la fonction array_diff_key() renverra un tableau vide.

3. Exemples d'utilisation de la fonction array_diff_key()

Ensuite, nous démontrerons l'utilisation de la fonction array_diff_key() à travers plusieurs exemples.

  1. Exemple 1

Supposons que nous ayons un tableau original $firstArray et un tableau cible $targetArray, comme indiqué ci-dessous :

$firstArray = array('name'=>'Tom', 'age'=>25, 'sex'=>'male', 'hobby'=>'reading');
$targetArray = array('age'=>20, 'hobby'=>'sport');

Maintenant, nous voulons trouver les noms de clés qui existent dans $firstArray mais pas dans $targetArray . Vous pouvez utiliser le code suivant :

$result = array_diff_key($firstArray, $targetArray);
print_r($result);

Le résultat de l'exécution est :

Array
(
    [name] => Tom
    [sex] => male
)

Ici, nous pouvons voir que les noms de clés qui existent dans $firstArray mais n'existent pas dans $targetArray incluent 'name' et 'sex', qui sont finalement renvoyé dans le tableau Contient uniquement ces noms de clés.

  1. Exemple 2

Nous pouvons également comparer les valeurs clés de plusieurs tableaux en même temps, comme indiqué ci-dessous :

$firstArray = array('name'=>'Tom', 'age'=>25, 'sex'=>'male', 'hobby'=>'reading');
$targetArray1 = array('age'=>20, 'hobby'=>'sport');
$targetArray2 = array('name'=>'Jack', 'hobby'=>'music');
$result = array_diff_key($firstArray, $targetArray1, $targetArray2);
print_r($result);

Le résultat de l'exécution est :

Array
(
    [age] => 25
    [sex] => male
)

De même, cette fonction trouve tous les noms de clés correspondant $firstArray , mais n'existe dans aucun tableau cible ultérieur et renvoie un tableau contenant ces noms de clés.

  1. Exemple 3

Nous pouvons également utiliser une boucle pour comparer plusieurs tableaux, comme indiqué ci-dessous :

$firstArray = array('name'=>'Tom', 'age'=>25, 'sex'=>'male', 'hobby'=>'reading');
$targetArray1 = array('age'=>20, 'hobby'=>'sport');
$targetArray2 = array('name'=>'Jack', 'hobby'=>'music');
$targetArray3 = array('name'=>'Tom', 'age'=>25);
$targetArrays = array($targetArray1, $targetArray2, $targetArray3);
$result = $firstArray;
foreach($targetArrays as $targetArray){
    $result = array_diff_key($result, $targetArray);
}
print_r($result);

Le résultat de l'exécution est :

Array
(
    [sex] => male
    [hobby] => reading
)

Ici, nous utilisons une boucle pour comparer plusieurs tableaux, d'abord les résultats Le tableau est initialisé en tant que tableau d'origine $firstArray, puis tous les tableaux cibles sont comparés un par un et la fonction array_diff_key() est utilisée pour trouver tous les noms de clés qui n'existent pas dans le tableau cible.

4. Résumé

À travers les exemples ci-dessus, nous pouvons voir que la fonction array_diff_key() est très simple et très pratique, et peut facilement nous aider à effectuer des comparaisons et des traitements de différence entre plusieurs tableaux. Bref, maîtriser l'utilisation de cette fonction nous aidera à mieux gérer et gérer les tableaux en PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn