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 $... ] )
Parmi eux, $array1, $array2, etc. sont les différents paramètres du tableau passés. dans.
2. Comment utiliser la fonction array_intersect_key()
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()
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 )
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.
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 )
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()
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"]) ? "存在" : "不存在"; // 输出:不存在
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.
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 )
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!