Aller au contenu

Comprendre la fonction PHP : array_intersect_key()

La fonction PHP array_intersect_key() est un outil utile pour comparer des tableaux et ne retourner que les valeurs dont les clés correspondent. Dans cet article, nous explorerons l'utilité et l'utilisation de cette fonction, y compris des exemples et des points de vigilance à garder à l'esprit lors de son utilisation.

Utilité de array_intersect_key()

L'objectif principal de la fonction array_intersect_key() est de comparer deux tableaux ou plus et de ne retourner que les valeurs dont les clés correspondent. Cela peut s'avérer utile dans de nombreuses situations où vous souhaitez comparer des tableaux et extraire des données spécifiques.

Utilisation de array_intersect_key()

La syntaxe de base de la fonction array_intersect_key() est la suivante :

PHP array_intersect_key function syntax

php
array_intersect_key(array1, array2, array3, ...);

Dans cette syntaxe, array1 est le premier tableau comparé, array2 est le second tableau comparé, et ainsi de suite. La fonction retourne un tableau contenant uniquement les valeurs de array1 dont les clés sont présentes dans tous les tableaux comparés.

Exemples de array_intersect_key()

Voici quelques exemples pour illustrer l'utilisation de array_intersect_key().

Exemple 1 : Comparaison de deux tableaux

PHP Comparing Two Arrays by using array_intersect_key function

php
<?php

$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "d" => "red");
$result = array_intersect_key($array1, $array2);
print_r($result);

?>

Dans cet exemple, nous comparons deux tableaux, $array1 et $array2. La fonction array_intersect_key() retourne un tableau contenant uniquement les valeurs de $array1 dont les clés sont présentes dans les deux tableaux :


console
Array
(
    [a] => green
    [b] => brown
)

Exemple 2 : Comparaison de trois tableaux

PHP Comparing multiple arrays by using array_intersect_key arrays

php
<?php

$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "d" => "red");
$array3 = array("a" => "green", "c" => "brown", "g" => "blue");
$result = array_intersect_key($array1, $array2, $array3);
print_r($result);

?>

Dans cet exemple, nous comparons trois tableaux, $array1, $array2 et $array3. La fonction array_intersect_key() retourne un tableau contenant uniquement les valeurs de $array1 dont les clés sont présentes dans les trois tableaux :


console
Array
(
    [a] => green
)

Points de vigilance lors de l'utilisation de array_intersect_key()

Voici quelques points de vigilance à garder à l'esprit lors de l'utilisation de la fonction array_intersect_key() :

  • La fonction compare uniquement les clés, et non les valeurs.
  • L'ordre des tableaux n'a pas d'importance.
  • La fonction est sensible à la casse.
  • Si l'un des tableaux comparés contient des clés numériques, celles-ci seront comparées en tant qu'entiers et non en tant que chaînes de caractères.

Conclusion

En conclusion, la fonction array_intersect_key() est un outil utile pour comparer des tableaux et ne retourner que les valeurs dont les clés correspondent. En comprenant l'utilité et l'utilisation de cette fonction, ainsi que ses exemples et points de vigilance, vous pourrez l'exploiter efficacement dans vos projets PHP.

Pratique

Que fait la fonction array_intersect_key() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.