Maison > Article > développement back-end > PHP compare les tableaux pour l'égalité
PHP est un langage de programmation puissant et largement utilisé. Il fournit de nombreuses fonctions et méthodes liées aux tableaux, permettant aux développeurs d'effectuer facilement diverses opérations sur les tableaux. Lorsque nous utilisons des tableaux, nous devons souvent comparer si deux tableaux sont égaux. Cet article présentera comment PHP compare l'égalité des tableaux, ainsi que certaines compétences pratiques associées.
Vous pouvez utiliser l'opérateur "==" en PHP pour comparer si deux tableaux sont égaux. Deux tableaux sont considérés comme égaux lorsqu'ils ont les mêmes paires clé-valeur et que les paires clé-valeur sont dans le même ordre. Par exemple :
$arr1 = array('a' => 1, 'b' => 2, 'c' => 3); $arr2 = array('b' => 2, 'a' => 1, 'c' => 3); if ($arr1 == $arr2) { echo '两个数组相等'; } else { echo '两个数组不相等'; }
Le résultat de sortie est "deux tableaux sont égaux" car $arr1 et $arr2 ont les mêmes paires clé-valeur et l'ordre de ces paires clé-valeur est également le même.
Cependant, il convient de noter que l'opérateur "==" compare uniquement si les clés et les valeurs du tableau sont égales, il ne compare pas le type du tableau. Par exemple :
$arr1 = array(1, 2, 3); $arr2 = array('1', '2', '3'); if ($arr1 == $arr2) { echo '两个数组相等'; } else { echo '两个数组不相等'; }
Le résultat de sortie est "deux tableaux sont égaux", bien que les types de $arr1 et $arr2 soient différents. En effet, l'opérateur "==" compare uniquement les clés et les valeurs pour l'égalité, pas les types.
Si vous souhaitez comparer les clés, les valeurs et les types du tableau pour l'égalité au en même temps, vous devez utiliser l'opérateur "== =". Par exemple :
$arr1 = array(1, 2, 3); $arr2 = array('1', '2', '3'); if ($arr1 === $arr2) { echo '两个数组相等'; } else { echo '两个数组不相等'; }
Le résultat de sortie est "les deux tableaux ne sont pas égaux" car les types de $arr1 et $arr2 sont différents.
Dans certains cas, nous pouvons avoir besoin de comparer si les clés et les valeurs du tableau sont égales, mais la paire clé-valeur L'ordre peut être différent. À ce stade, vous pouvez utiliser la fonction usort() de PHP et une fonction de comparaison personnalisée pour y parvenir. Par exemple :
function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } $arr1 = array('a' => 1, 'b' => 2, 'c' => 3); $arr2 = array('b' => 2, 'a' => 1, 'c' => 3); usort($arr1, 'cmp'); usort($arr2, 'cmp'); if ($arr1 == $arr2) { echo '两个数组相等'; } else { echo '两个数组不相等'; }
Le résultat de sortie est "Deux tableaux sont égaux" car nous avons utilisé la fonction usort() et la fonction de comparaison personnalisée cmp() pour trier et comparer les deux tableaux.
Lorsque vous comparez des tableaux, vous devez également faire attention aux éléments suivants :
<?php // 比较数组是否相等 $arr1 = array('a' => 1, 'b' => 2, 'c' => 3); $arr2 = array('b' => 2, 'a' => 1, 'c' => 3); // 方法一:使用“==”运算符 if ($arr1 == $arr2) { echo '方法一:两个数组相等'; } else { echo '方法一:两个数组不相等'; } echo '<br>'; // 方法二:使用“===”运算符 if ($arr1 === $arr2) { echo '方法二:两个数组相等'; } else { echo '方法二:两个数组不相等'; } echo '<br>'; // 方法三:使用usort()函数和自定义比较函数 function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } usort($arr1, 'cmp'); usort($arr2, 'cmp'); if ($arr1 == $arr2) { echo '方法三:两个数组相等'; } else { echo '方法三:两个数组不相等'; } ?>
Après avoir exécuté le code ci-dessus, les résultats suivants seront affichés :
方法一:两个数组相等 方法二:两个数组不相等 方法三:两个数组相等Summary
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!