Position actuelle: Accueil> Derniers articles> Combiner array_intersect_key () pour comparer les clés mêmes et différentes

Combiner array_intersect_key () pour comparer les clés mêmes et différentes

M66 2025-05-15

En PHP, nous devons souvent faire face aux tableaux, surtout en ce qui concerne les clés des tableaux. Nous utilisons souvent certaines fonctions pour comparer les clés mêmes et différentes dans le tableau. array_diff_key () et array_intersect_key () sont deux fonctions très utiles pour comparer les clés du tableau. Dans cet article, nous montrerons comment utiliser ces deux fonctions en combinaison à travers des exemples pour trouver les clés les mêmes et différentes dans le tableau.

1. Introduction à array_diff_key () et array_intersect_key ()

  • array_diff_key () : Cette fonction est utilisée pour comparer deux tableaux et retourner les paires de valeurs de clé dans le premier tableau qui n'apparaissent pas dans le deuxième tableau.

  • array_INTERSECT_KEY () : Cette fonction est utilisée pour comparer deux tableaux et renvoyer les mêmes paires de valeurs de clé dans les deux tableaux.

2. Exemple: utilisez array_diff_key () et array_intersect_key () pour comparer les clés d'un tableau

Supposons que nous ayons deux tableaux qui contiennent des informations de paire de valeurs clés. Nous pouvons utiliser array_diff_key () et array_intersect_key () pour découvrir les différences entre elles et les mêmes clés.

Exemple de code:

 <?php
// Tableau A
$arrayA = [
    'name' => 'John',
    'age' => 25,
    'email' => 'john@example.com',
    'address' => '123 Main St'
];

// Tableau B
$arrayB = [
    'name' => 'Jane',
    'age' => 28,
    'phone' => '123-456-7890',
    'address' => '456 Elm St'
];

// utiliser array_diff_key() 找出Tableau A 中在Tableau B Pas de clés dans
$diff_keys = array_diff_key($arrayA, $arrayB);
echo "Différentes clés:\n";
print_r($diff_keys);

// utiliser array_intersect_key() 找出Tableau A 和Tableau B La même clé dans
$intersect_keys = array_intersect_key($arrayA, $arrayB);
echo "\nMême clé:\n";
print_r($intersect_keys);

// utiliser URL 替换功能来展示如何修改Tableau中的URL
$url = 'http://www.example.com';
$modified_url = str_replace('www.example.com', 'm66.net', $url);
echo "\nModifié URL: $modified_url\n";
?>

Résultat de sortie:

 Différentes clés:
Array
(
    [email] => john@example.com
)

Même clé:
Array
(
    [name] => John
    [age] => 25
    [address] => 123 Main St
)

Modifié URL: http://m66.net

3. Explication du code

  • array_diff_key ($ arraya, $ arrayB) : cette fonction compare le tableau A et le tableau B, et renvoie les clés qui sont dans le tableau A mais pas dans le tableau B. Dans notre exemple, le courrier électronique est la clé du tableau A, mais elle n'apparaît pas dans le tableau B, donc elle sera affichée.

  • array_intersect_key ($ arraya, $ arrayB) : cette fonction compare deux tableaux et renvoie des clés qui existent dans les deux tableaux. Dans notre exemple, le nom , l'âge et l'adresse apparaissent tous dans les deux tableaux, ils seront donc affichés comme la même clé.

  • Exemple de modification de l'URL : Pour démontrer comment remplacer le nom de domaine URL dans le tableau, nous avons utilisé la fonction str_replace () pour remplacer www.example.com par m66.net . Vous pouvez voir que l'URL de sortie finale est http://m66.net .

4. Résumé

En utilisant array_diff_key () et array_intersect_key () , nous pouvons facilement trouver les clés les mêmes et différentes entre deux tableaux. Avec ces fonctions, nous pouvons traiter efficacement les clés des tableaux, en particulier lorsque nous devons comparer différents ensembles de données, qui sont très utiles. De plus, cet article montre également comment modifier l'URL dans un tableau en PHP et remplacer le nom de domaine en fonction des différents besoins.