Introduction à l'utilisation de la fonction array_intersect_key() de PHP

王林
Libérer: 2023-06-27 06:14:01
original
1821 Les gens l'ont consulté

La fonction array_intersect_key() en PHP est une fonction très pratique. Sa fonction principale est de comparer les clés de deux ou plusieurs tableaux et de renvoyer un nouveau tableau qui contient uniquement les noms de clés dans tous les éléments d'existence donnés. Cet article vous présentera la syntaxe de base et l'utilisation de la fonction array_intersect_key().

1. La syntaxe de base de la fonction array_intersect_key()

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

array array_intersect_key ( array $array1 , array $array2 [, array $... ] )
Copier après la connexion

Parmi eux, $array1, $array2, etc. sont les différents paramètres du tableau passés. dans.

2. Comment utiliser la fonction array_intersect_key()

  1. Un seul paramètre est passé

Lorsqu'un seul paramètre est transmis, la fonction array_intersect_key() ne le traitera pas, mais renverra directement un tableau vide.

$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS");
$result = array_intersect_key($array1);
print_r($result);  // 输出:Array()
Copier après la connexion
  1. Passage de deux paramètres

Lors du passage de deux paramètres, la fonction array_intersect_key() compare les clés des deux tableaux et renvoie un nouveau tableau qui contient uniquement les noms de clés qui existent dans tous les éléments des tableaux donnés.

$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
$array2 = array("a" => "PHP", "e" => "Python", "f" => "C++", "d" => "JavaScript");
$result = array_intersect_key($array1, $array2);
print_r($result);  // 输出:Array ( [a] => PHP [d] => JavaScript )
Copier après la connexion

Dans le code ci-dessus, $array1 et $array2 sont les deux paramètres de tableau transmis, et $result est le nouveau tableau renvoyé par la fonction. Ce tableau ne contient que des éléments dont les noms de clé existent dans les deux tableaux.

  1. Passer trois paramètres ou plus

Lors du passage de trois paramètres ou plus, la fonction array_intersect_key() est la même que lors du passage de deux paramètres, sauf qu'un ou plusieurs paramètres de tableau sont transmis.

$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
$array2 = array("a" => "PHP", "e" => "Python", "f" => "C++", "d" => "JavaScript");
$array3 = array("a" => "PHP", "c" => "CSS", "g" => "Ruby", "d" => "JavaScript");
$result = array_intersect_key($array1, $array2, $array3);
print_r($result);  // 输出:Array ( [a] => PHP [d] => JavaScript )
Copier après la connexion

Dans le code ci-dessus, $array1, $array2 et $array3 sont les trois paramètres transmis, et $result est le nouveau tableau renvoyé par la fonction. Ce tableau ne contient que des éléments dont les noms de clé existent dans tous les tableaux donnés.

3. Exemple d'application de la fonction array_intersect_key()

  1. Déterminer si le tableau a la valeur de clé spécifiée

La fonction array_intersect_key() peut être utilisée pour déterminer si le tableau a la valeur de clé spécifiée.

function checkArrayKey($array, $keys) {
    // 将传入的键名转化为数组
    $keys = array_flip((array) $keys);
    // 比较两个数组的键,返回新数组
    $result = array_intersect_key($keys, $array);
    // 判断键值是否相同,如果键值相同则说明数组中拥有该键值
    return count($result) == count($keys);
}

// 示例使用
$myArray = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
echo checkArrayKey($myArray, "a") ? "存在" : "不存在";  // 输出:存在
echo checkArrayKey($myArray, ["a", "b"]) ? "存在" : "不存在";  // 输出:存在
echo checkArrayKey($myArray, ["d", "e"]) ? "存在" : "不存在";  // 输出:不存在
Copier après la connexion

Dans le code ci-dessus, $myArray est le paramètre de tableau entrant. La fonction checkArrayKey() est utilisée pour déterminer si le tableau a la valeur de clé spécifiée et détermine si la valeur de clé spécifiée existe en fonction de la valeur de retour. Renvoie vrai s'il existe, faux sinon.

  1. Comparez les noms de clés communs dans plusieurs tableaux

Vous pouvez comparer les noms de clés communs dans plusieurs tableaux via la fonction array_intersect_key().

// 示例使用
$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
$array2 = array("a" => "PHP", "e" => "Python", "f" => "C++", "d" => "JavaScript");
$array3 = array("a" => "PHP", "c" => "CSS", "g" => "Ruby", "d" => "JavaScript");

// 比较多个数组的公共键名
$result = call_user_func_array("array_intersect_key", array($array1, $array2, $array3)); 
print_r($result);  // 输出:Array ( [a] => PHP [d] => JavaScript )
Copier après la connexion

Dans le code ci-dessus, $array1, $array2 et $array3 sont les trois paramètres de tableau transmis. Ces trois tableaux peuvent être transmis à la fonction array_intersect_key() en utilisant la fonction call_user_func_array(), qui est utilisée pour comparer plusieurs tableaux. Nom de la clé publique. Le résultat final contient uniquement les éléments dont les noms de clé existent dans les trois tableaux.

4. Résumé

Grâce à l'introduction de cet article, je pense que les lecteurs ont déjà compris la syntaxe de base et la méthode d'application de la fonction array_intersect_key(). Dans le développement réel, si vous devez comparer les noms de clés communs dans plusieurs tableaux ou déterminer si un tableau a une valeur de clé spécifiée, vous pouvez utiliser cette fonction pour l'implémenter facilement.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!