Maison  >  Article  >  développement back-end  >  Comment déterminer si deux clés de tableau sont identiques en php

Comment déterminer si deux clés de tableau sont identiques en php

PHPz
PHPzoriginal
2023-04-24 15:50:35590parcourir

En PHP, il existe de nombreuses façons de déterminer si les clés de deux tableaux sont identiques. Dans cet article, nous explorerons quelques-unes de ces méthodes et leurs cas d’utilisation.

Méthode 1 : Utilisez la fonction array_keys

La fonction array_keys est utilisée pour obtenir tous les noms de clés (clés) du tableau et renvoyer un tableau contenant les noms de clés. Nous pouvons utiliser la fonction array_keys pour obtenir les tableaux de clés des deux tableaux, puis utiliser la fonction array_diff pour comparer les différences entre les deux tableaux de clés. Si la différence est un tableau vide, cela signifie que les noms de clés des deux tableaux sont identiques.

Ce qui suit est un exemple de code qui utilise la fonction array_keys pour comparer les noms de clés de tableau :

$array1 = array('foo' => 1, 'bar' => 2, 'baz' => 3);
$array2 = array('foo' => 4, 'bar' => 5, 'baz' => 6);

if (array_diff(array_keys($array1), array_keys($array2)) === array()) {
    echo "两个数组的键名相同";
} else {
    echo "两个数组的键名不同";
}

Le résultat de sortie est : les noms de clé des deux tableaux sont les mêmes

Méthode 2 : utilisez la fonction array_diff_key

Le array_diff_key La fonction est utilisée pour comparer les deux tableaux Nom de clé, renvoie un nouveau tableau composé de noms de clés qui n'existent que dans le premier tableau mais pas dans le deuxième tableau. Nous pouvons utiliser cette fonction pour déterminer si les noms de clé des deux tableaux sont les mêmes. Si le nouveau tableau renvoyé est vide, cela signifie que les noms de clé des deux tableaux sont les mêmes.

Ce qui suit est un exemple de code qui utilise la fonction array_diff_key pour comparer les noms de clés de tableau :

$array1 = array('foo' => 1, 'bar' => 2, 'baz' => 3);
$array2 = array('foo' => 4, 'bar' => 5, 'baz' => 6);

if (array_diff_key($array1, $array2) === array()) {
    echo "两个数组的键名相同";
} else {
    echo "两个数组的键名不同";
}

Le résultat de sortie est : les noms de clé des deux tableaux sont les mêmes

Méthode 3 : Utiliser la fonction ksort

Le ksort La fonction est utilisée pour comparer les tableaux par nom de clé, trier par ordre croissant. Nous pouvons d'abord trier les deux tableaux à l'aide de la fonction ksort, puis comparer les deux tableaux à l'aide de l'opérateur égal (==). S'ils sont égaux, cela signifie que les noms de clés des deux tableaux sont identiques.

Ce qui suit est un exemple de code qui utilise la fonction ksort pour comparer les noms de clés de tableau :

$array1 = array('foo' => 1, 'bar' => 2, 'baz' => 3);
$array2 = array('baz' => 6, 'bar' => 5, 'foo' => 4);

ksort($array1);
ksort($array2);

if ($array1 == $array2) {
    echo "两个数组的键名相同";
} else {
    echo "两个数组的键名不同";
}

Le résultat de sortie est : les noms de clé des deux tableaux sont les mêmes

Résumé

Les trois méthodes ci-dessus peuvent toutes déterminer si les noms de clé des deux tableaux sont les mêmes. La méthode exacte à utiliser dépend de la situation. Il convient de noter que les méthodes ci-dessus sont applicables pour juger des tableaux associatifs, mais vous devez faire attention lorsque vous utilisez la fonction array_keys. Si le nom de clé du tableau est un nombre, certains problèmes peuvent survenir lors de l'utilisation de la fonction array_keys. Par conséquent, il est recommandé de définir le deuxième paramètre sur true lors de l'utilisation de la fonction array_keys pour conserver l'ordre des noms de clés inchangé.

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