PHP est un langage de script côté serveur largement utilisé dans le développement de sites Web et l'interaction de données. La comparaison de deux tableaux est également l'une des opérations de base. Cet article présentera plusieurs méthodes différentes pour comparer deux tableaux.
1. Utilisez les opérateurs == et ===
L'utilisation des opérateurs "==" et "===" est un moyen courant de comparer deux tableaux. La différence entre les deux opérateurs est que l'opérateur "==" compare si les valeurs clés des deux tableaux sont identiques, tandis que l'opérateur "===" compare également si les types des deux tableaux sont les mêmes. même.
Par exemple, supposons qu'il y ait deux tableaux, $arr1 = array(1, 2, 3); et $arr2 = array(1, 2, 3);, puis utilisez l'opérateur "==" pour comparer les deux tableaux. :
if($arr1 == $arr2){
echo "两个数组相同";
}else{
echo "两个数组不同";
}
Si vous utilisez l'opérateur "===" pour comparer deux tableaux :
if($arr1 === $ arr2){
echo "两个数组相同";
}else{
echo "两个数组不同";
}
2. Utilisez la fonction array_diff
L'utilisation de la fonction array_diff est également un moyen de comparer deux tableaux. Cette fonction renvoie un nouveau tableau composé des éléments du tableau1 qui ne sont pas dans le tableau2.
Par exemple, supposons qu'il y ait deux tableaux, $arr1 = array(1, 2, 3); et $arr2 = array(2, 3);, puis utilisez la fonction array_diff pour comparer les deux tableaux :
$diff = array_diff( $arr1, $arr2);
if(count($diff) == 0){
echo "两个数组相同";
}else{
echo "两个数组不同";
}
Dans l'exemple ci-dessus, si la longueur du tableau $diff est 0 , cela signifie que les éléments de $arr1 et $arr2 sont identiques et que "les deux tableaux sont identiques" sont affichés. Sinon, cela signifie que les éléments de $arr1 et $arr2 sont différents et "les deux tableaux sont différents". " sont affichés.
3. Utilisez la fonction array_intersect
L'utilisation de la fonction array_intersect est également un moyen de comparer deux tableaux. Cette fonction renvoie un nouveau tableau composé d'éléments contenus à la fois dans array1 et array2.
Par exemple, supposons qu'il y ait deux tableaux, $arr1 = array(1, 2, 3); et $arr2 = array(2, 3);, puis utilisez la fonction array_intersect pour comparer les deux tableaux :
$intersect = array_intersect( $arr1, $arr2);
if(count($intersect) == count($arr1)){
echo "两个数组相同";
}else{
echo "两个数组不同";
}
Dans l'exemple ci-dessus, si le nombre d'éléments dans le tableau $intersect Égal au nombre d'éléments dans $arr1, cela signifie que les éléments de $arr1 et $arr2 sont les mêmes, et le résultat est "les deux tableaux sont les mêmes". Sinon, cela signifie que les éléments de $arr1. $arr1 et $arr2 sont différents et le résultat est "les deux tableaux sont différents".
4. Utilisez la fonction array_udiff
L'utilisation de la fonction array_udiff est également un moyen de comparer deux tableaux. Cette fonction compare les éléments du tableau 1 avec les éléments du tableau 2 et si les deux éléments sont considérés comme égaux, ils ne sont pas inclus dans le tableau résultant.
Par exemple, supposons qu'il y ait deux tableaux, $arr1 = array(1, 2, 3); et $arr2 = array(2, 3);, puis utilisez la fonction array_udiff pour comparer les deux tableaux :
$diff = array_udiff( $arr1, $arr2, function($a, $b){
if($a === $b){ return 0; } return ($a > $b) ? 1 : -1;
});
Si la longueur du tableau $diff est 0, cela signifie que les éléments de $arr1 et $arr2 sont les pareil, et le résultat est "Les deux tableaux sont identiques", sinon cela signifie que les éléments de $arr1 et $arr2 sont différents, et le résultat est "les deux tableaux sont différents".
Résumé
Ce qui précède présente quatre méthodes de comparaison de deux tableaux, chaque méthode a ses avantages et ses inconvénients. En utilisant différentes méthodes, nous pouvons choisir la méthode la plus appropriée en fonction du scénario d'application spécifique. Dans le même temps, il convient de noter que lors de la comparaison de deux tableaux, en particulier lorsque vous utilisez l'opérateur "==", faites attention à l'ordre des éléments dans le tableau, car l'ordre différent des éléments dans le tableau peut également provoquer le les tableaux doivent être différents.
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!