Maison  >  Article  >  développement back-end  >  Fonctions de tableau en PHP8 : méthode d'application efficace de array_intersect_key()

Fonctions de tableau en PHP8 : méthode d'application efficace de array_intersect_key()

PHPz
PHPzoriginal
2023-05-18 18:31:361023parcourir

Fonction Array en PHP8 : méthode d'application efficace de array_intersect_key()

Dans le langage de programmation PHP, le tableau est un type de données très important. Lorsqu'ils travaillent avec des tableaux, les développeurs doivent souvent utiliser des fonctions de tableau pour accomplir certaines tâches. La nouvelle fonction array_intersect_key() de PHP8 peut être utilisée pour comparer plusieurs tableaux et renvoyer les valeurs correspondant à la même clé. Cet article vous montrera comment utiliser la fonction array_intersect_key() pour décrire des scénarios d'application efficaces.

Introduction à la fonction array_intersect_key()

array_intersect_key() La fonction consiste à comparer deux tableaux ou plus et à renvoyer un tableau qui contient tous les éléments des clés et valeurs du tableau d'entrée. La syntaxe de la fonction est la suivante :

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

Parmi eux, $array1 et $array2 font référence aux deux tableaux transmis, et les tableaux facultatifs suivants font référence à n'importe quel nombre de tableaux supplémentaires. La fonction comparera les clés de tous les tableaux et renverra un nouveau tableau contenant les clés et leurs valeurs correspondantes qui existent dans tous les tableaux.

Utilisez la fonction array_intersect_key() pour afficher l'intersection de deux tableaux

L'exemple suivant montrera comment utiliser la fonction array_intersect_key() pour afficher l'intersection entre deux tableaux : # 🎜🎜#

$array1 = array('a' => 'red', 'b' => 'green', 'c' => 'blue');
$array2 = array('a' => 'red', 'b' => 'blue', 'd' => 'orange');

$result = array_intersect_key($array1, $array2);
print_r($result);

Le résultat de l'exécution affichera les informations suivantes :

Array
(
    [a] => red
)

Dans l'exemple, nous définissons deux tableaux $array1 et $array2, puis utilisons la fonction array_intersect_key() pour comparez-les Nom de la clé. Le résultat renvoyé par la fonction est le nom de la clé et la valeur correspondante incluses dans les deux tableaux, c'est-à-dire qu'il n'y a qu'une seule entrée de 'a => red'. Cette fonction est une opération très rapide et peut donc être largement utilisée dans les programmes PHP.

Utilisez la fonction array_intersect_key() pour afficher l'intersection de plusieurs tableaux

En plus de comparer deux tableaux, la fonction array_intersect_key() peut également comparer l'intersection de plusieurs tableaux . L'exemple suivant montre comment utiliser une fonction pour comparer l'intersection du nom de clé entre trois tableaux :

$array1 = array('a' => 'red', 'b' => 'green', 'c' => 'blue');
$array2 = array('a' => 'red', 'b' => 'blue', 'd' => 'orange');
$array3 = array('a' => 'red', 'b' => 'green', 'e' => 'yellow');

$result = array_intersect_key($array1, $array2, $array3);
print_r($result);

Le résultat de l'exécution affichera les informations suivantes :

Array
(
    [a] => red
    [b] => green
)

Dans cet exemple , Nous définissons trois tableaux $array1, $array2 et $array3, puis utilisons la fonction array_intersect_key() pour comparer leurs noms de clés. Le résultat renvoyé par la fonction est le nom de la clé et la valeur correspondante incluses dans les trois tableaux, c'est-à-dire qu'il y a deux entrées « a => rouge » et « b => vert ». Contrairement à la comparaison de l'intersection de deux tableaux, la comparaison de l'intersection de plusieurs tableaux peut prendre plus de temps. Vous devez donc être très prudent lorsque vous traitez de grandes quantités de données pour éviter de surcharger votre programme.

Utilisez la fonction array_intersect_key() pour comparer des objets

En PHP8, on peut également utiliser la fonction array_intersect_key() pour comparer des objets. Dans ce cas, les clés du tableau seront les noms des propriétés de l'objet et les valeurs correspondantes seront les valeurs des propriétés. L'exemple suivant montre comment utiliser la fonction array_intersect_key() pour comparer les intersections clés entre deux objets :

class MyClass {
    public $a = 'red';
    private $b = 'green';
    protected $c = 'blue';
}

$obj1 = new MyClass();
$obj2 = new MyClass();
$obj2->a = 'blue';
$obj2->d = 'orange';

$result = array_intersect_key(get_object_vars($obj1), get_object_vars($obj2));
print_r($result);

Lorsque vous exécutez cet exemple, vous verrez le résultat suivant :

Array
(
    [a] => red
)
#🎜🎜 #Dans cet exemple, nous définissons deux instances de la classe MyClass $obj1 et $obj2 et utilisons la fonction array_intersect_key() pour comparer leurs propriétés. Le résultat renvoyé par la fonction est le nom de l'attribut et la valeur correspondante incluses dans les deux objets, c'est-à-dire qu'il n'y a qu'une seule entrée de 'a => red'. Il convient de noter que cette fonction ne peut comparer que les propriétés des objets, pas les méthodes des objets.

Résumé

Dans cet article, nous vous présentons l'utilisation de la nouvelle fonction de tableau array_intersect_key() en PHP8. Nous avons montré comment comparer l'intersection des clés entre deux ou plusieurs tableaux et vous avons montré des utilisations efficaces de cette fonction. Nous avons également montré comment appliquer cette fonction pour comparer l'intersection des noms de propriétés entre deux objets, où les noms de propriétés de l'objet sont les clés d'un tableau. Lors du développement d'applications PHP8, l'utilisation de la fonction array_intersect_key() peut rendre le codage plus simple, plus rapide et plus efficace.

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