Comparer deux tableaux en PHP

Olorunfemi Akinlua 30 janvier 2023
  1. Utilisez les opérateurs == et != pour comparer deux tableaux en PHP
  2. Utilisez les opérateurs === et !== pour comparer deux tableaux en PHP
  3. Utilisez la fonction sort() pour comparer deux tableaux lorsque l’ordre n’est pas important en PHP
  4. Utilisez la fonction array_diff() pour comparer deux tableaux et renvoyer la différence en PHP
  5. Utilisez la fonction array_intersect() pour comparer deux tableaux et renvoyer les correspondances en PHP
Comparer deux tableaux en PHP

Toutes sortes d’opérations sont effectuées avec des tableaux de complexités différentes, et les opérations de comparaison ne sont pas différentes. Lorsque nous comparons deux valeurs, nous avons l’intention de comprendre à quel point elles sont similaires ou différentes.

Avec des nombres (entiers et flottants), des caractères et des chaînes, cela peut être simple. Cependant, avec les tableaux, cela peut devenir un peu compliqué.

Ne vous inquiétez pas car c’est facile et il existe différents opérateurs que nous pouvons utiliser. Que la comparaison soit stricte ou non, il y a un opérateur.

Cet article examinera quatre opérateurs et trois fonctions qui facilitent la comparaison de deux tableaux et comment y parvenir avec d’excellents exemples.

Utilisez les opérateurs == et != pour comparer deux tableaux en PHP

Le premier opérateur est l’opérateur ==. C’est l’opérateur d’égalité, et quand on compare deux tableaux avec cet opérateur, on entend savoir si le premier tableau est égal au second tableau.

Les opérations de comparaison se concentrent sur la recherche des similitudes ou des dissemblances entre deux valeurs. Ainsi, avec l’opérateur ==, vous obtenez une réponse booléenne, où TRUE représente la similarité et FALSE représente la dissemblance.

Ici, le code utilise l’opérateur == pour comparer deux tableaux.

<?php

$arr1 = array(4, 5, 'hello', 2.45, 3.56);
$arr2 = array(5, 2.45, 'hello', 3.56, 4);

// Check for equality
if ($arr1 == $arr2)
    echo "Similar Arrays";
else
    echo "Not Similar Arrays";

?>

Production:

Not Similar Arrays

Vous pouvez utiliser l’opérateur !=, un opérateur d’inégalité. Lorsque nous comparons deux tableaux avec cet opérateur, nous avons l’intention de savoir si le premier tableau n’est pas égal au second tableau.

Il libère une réponse booléenne, où TRUE représente la dissemblance et FALSE représente la similarité.

<?php

$arr1 = array(4, 5, 'hello', 2.45, 3.56);
$arr2 = array(5, 2.45, 'hello', 3.56, 4);

// Check for inequality
if ($arr1 != $arr2)
    echo "Not Similar Arrays";
else
    echo "Similar Arrays";

?>

Production:

Not Similar Arrays

Ces deux opérateurs fonctionnent avec des tableaux associatifs et multidimensionnels et ne comparent que les valeurs, pas les clés.

Utilisez les opérateurs === et !== pour comparer deux tableaux en PHP

Semblable aux opérateurs ==, l’opérateur === permet de comparer deux valeurs pour la similarité. Cependant, l’opérateur == renverra VRAI si le premier tableau et le deuxième tableau, dans le contexte des tableaux associatifs, ont les mêmes paires clé/valeur.

Cependant, === renverra VRAI si le premier tableau et le deuxième tableau ont les mêmes paires clé/valeur dans le même ordre et de même type.

En utilisant les mêmes codes dans la section précédente, nous allons faire quelques changements de type et utiliser à la fois les opérateurs == et ===.

<?php

$arr1 = array(4, 5, 'hello', 2.45, 3.56);
$arr2 = array('4', '5', 'hello', '2.45', '3.56');

// Check for equality
if ($arr1 == $arr2)
    echo "Similar Arrays";
else
    echo "Not Similar Arrays";

?>

Production:

Similar Arrays

Lorsque nous utilisons l’opérateur ===.

<?php

$arr1 = array(4, 5, 'hello', 2.45, 3.56);
$arr2 = array('4', '5', 'hello', '2.45', '3.56');

// Check for equality
if ($arr1 === $arr2)
    echo "Similar Arrays";
else
    echo "Not Similar Arrays";

?>

Lorsque nous l’utilisons avec des tableaux associatifs, nous constatons le même comportement. Dans le code ci-dessous, nous comparerons les deux tableaux en termes de valeur et non de clés.

<?php

$arr1 = array("first" => 4, "second" => 5, "type" => 'hello');
$arr2 = array("one" => '4', "two" => '5', "third" => 'hello', );

// Check for equality
if ($arr1 === $arr2)
    echo "Similar Arrays";
else
    echo "Not Similar Arrays";

?>

Production:

Not Similar Arrays

Utilisez la fonction sort() pour comparer deux tableaux lorsque l’ordre n’est pas important en PHP

Pour les cas où l’ordre de l’élément n’est pas important, vous pouvez utiliser la fonction sort() et comparer les deux tableaux. Par conséquent, vous appliquez la fonction sort() aux deux tableaux, puis comparez les tableaux triés pour l’égalité.

<?php

$arr1 = array(4, 5, 'hello', 2.45, 3.56);
$arr2 = array(5, 2.45, 'hello', 3.56, 4);

// Sort the array elements
sort($arr1);
sort($arr2);

// Check for equality
if ($arr1 == $arr2)
    echo "Both arrays are same, when sorted";
else
    echo "Both arrays are not same, even when sorted";

?>

Production:

Both arrays are same, when sorted

Utilisez la fonction array_diff() pour comparer deux tableaux et renvoyer la différence en PHP

Nous pouvons comparer deux tableaux et retourner la différence entre les deux tableaux, et pour ce faire, nous utilisons la fonction array_diff(). Avec cette fonction, nous pouvons comparer deux tableaux et attendre un tableau de retour contenant des éléments du premier tableau qui ne sont pas dans le second tableau.

<?php

$first = array("12", 34, true, 45, 67);
$second = array("12", 21, 89, 45);

print_r(array_diff($first, $second));

?>

Production:

Array
(
    [1]    34
    [2]    1
    [4]    67
)
   true

Il faut connaître l’ordre dans lequel on place les tableaux dans les impacts des fonctions array_diff() qui retournent un tableau. Avec le même code, si nous changeons l’ordre des tableaux, la sortie ci-dessous est le résultat.

Array
(
    [1]    21
    [2]    89
)
   true

Et s’il n’y a pas de différence, le code renverra un tableau vide.

Utilisez la fonction array_intersect() pour comparer deux tableaux et renvoyer les correspondances en PHP

Avec la fonction array_intersect(), vous pouvez comparer deux tableaux et retourner les éléments qui sont présents dans les deux éléments. En utilisant les deux mêmes tableaux dans la section précédente, vous trouverez 12 et 45 dans le tableau de retour.

<?php

$first = array("12", 34, true, 45, 67);
$second = array("12", 21, 89, 45);

print_r(array_intersect($first, $second));

?>

Production:

Array
(
    [0]    12
    [3]    45
)
   true
Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

Article connexe - PHP Array