Maison  >  Article  >  développement back-end  >  Comment trouver différentes valeurs dans un tableau en php

Comment trouver différentes valeurs dans un tableau en php

PHPz
PHPzoriginal
2023-04-25 09:02:53657parcourir

En programmation PHP, nous avons souvent besoin de gérer des tableaux. Lors du traitement du tableau, vous devez parfois rechercher différentes valeurs dans le tableau (c'est-à-dire qu'il n'y a pas de valeurs répétées). Ci-dessous, nous présenterons plusieurs méthodes pour vous aider à trouver différentes valeurs dans les tableaux PHP.

Méthode 1 : utiliser la fonction array_unique

La fonction array_unique() renvoie un tableau avec les valeurs en double supprimées. Cette fonction supprime les valeurs en double tout en conservant les clés du tableau. Voici un exemple d'utilisation de la fonction array_unique() :

    $arr = array(1, 2, 3, 4, 3, 5, 4, 6);
    $unique_arr = array_unique($arr);
    print_r($unique_arr);

Sortie :

    Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
        [5] => 5
        [7] => 6
    )

Dans cet exemple, nous utilisons la fonction array_unique() pour supprimer les valeurs en double​​dans le tableau $arr et obtenir un nouveau tableau $unique_arr.

Cependant, cette méthode présente un inconvénient, c'est-à-dire qu'elle ne peut trouver que les différentes valeurs d'un tableau. Si vous avez besoin de connaître les différentes valeurs dans plusieurs tableaux, vous devez écrire du code supplémentaire.

Méthode 2 : utiliser la fonction array_diff

La fonction array_diff() est utilisée pour calculer l'ensemble de différences de tableaux. Il renverra un tableau contenant tous les éléments du tableau $arr1 mais pas dans les tableaux $arr2, $arr3, etc. Voici un exemple d'utilisation de la fonction array_diff() :

    $arr1 = array(1, 2, 3, 4, 5);
    $arr2 = array(3, 4, 5, 6, 7);
    $diff_arr = array_diff($arr1, $arr2);
    print_r($diff_arr);

Sortie :

    Array
    (
        [0] => 1
        [1] => 2
    )

Dans cet exemple, nous utilisons la fonction array_diff() pour comparer la différence entre les tableaux $arr1 et $arr2 et obtenir un nouveau tableau $diff_arr , qui contient des éléments dans le tableau $arr1 mais pas dans le tableau $arr2.

Vous pouvez utiliser plusieurs tableaux comme paramètres de la fonction array_diff(), tels que :

    $arr1 = array(1, 2, 3, 4, 5);
    $arr2 = array(3, 4, 5, 6, 7);
    $arr3 = array(5, 6, 7, 8, 9);
    $diff_arr = array_diff($arr1, $arr2, $arr3);
    print_r($diff_arr);

Sortie :

    Array
    (
        [0] => 1
        [1] => 2
    )

Dans cet exemple, nous comparons la différence entre les tableaux $arr1 et $arr2, $arr3, et obtenons un new Le tableau $diff_arr contient les éléments du tableau $arr1 mais pas des tableaux $arr2 et $arr3.

Méthode 3 : Utiliser la recherche en boucle

La boucle foreach de PHP est une méthode de boucle très pratique. Nous pouvons utiliser la boucle foreach et l'instruction conditionnelle if pour trouver différentes valeurs dans un tableau. Voici un exemple utilisant une boucle foreach et une instruction if :

    $arr = array(1, 2, 3, 4, 3, 5, 4, 6);
    $result_arr = array();    // 新建一个空数组
    foreach ($arr as $value)
    {
        $count = 0;           // 新建一个变量来计数
        foreach ($arr as $sub_value)
        {
            if ($value == $sub_value)
            {
                $count++;
            }
        }
        if ($count == 1)      // 如果计数为1,说明是不同的值
        {
            $result_arr[] = $value;
        }
    }
    print_r($result_arr);

Sortie :

    Array
    (
        [0] => 1
        [1] => 2
        [2] => 5
        [3] => 6
    )

Dans cet exemple, nous créons un nouveau tableau vide $result_arr pour stocker différentes valeurs. Utilisez une boucle foreach pour parcourir le tableau $arr, puis utilisez une autre boucle foreach pour compter le nombre d'occurrences de l'élément dans le tableau, et si le nombre d'occurrences est de 1, ajoutez l'élément au tableau $result_arr.

L'inconvénient de cette méthode est que si le tableau est plus grand, l'efficacité peut être moindre.

Méthode 4 : utilisez la fonction array_count_values ​​​​​​

La fonction array_count_values() est utilisée pour compter le nombre d'occurrences de toutes les valeurs du tableau. Il renvoie un tableau dont les clés sont les valeurs du tableau $arr et dont les valeurs sont le nombre de fois que cette valeur apparaît dans le tableau $arr. Voici un exemple d'utilisation de la fonction array_count_values() :

    $arr = array(1, 2, 3, 4, 3, 5, 4, 6);
    $count_arr = array_count_values($arr);
    $result_arr = array();
    foreach ($count_arr as $key => $value)
    {
        if ($value == 1)
        {
            $result_arr[] = $key;
        }
    }
    print_r($result_arr);

Sortie :

    Array
    (
        [0] => 1
        [1] => 2
        [2] => 5
        [3] => 6
    )

Dans cet exemple, nous utilisons la fonction array_count_values() pour compter le nombre d'occurrences de chaque élément dans le tableau $arr, puis utilisons foreach pour parcourir le tableau de résultats et rechercher Les éléments avec le nombre d'occurrences 1 sont ajoutés au tableau $result_arr.

L'avantage de cette méthode est que le code est concis, mais l'inconvénient est qu'elle peut consommer beaucoup de mémoire.

Conclusion

Ce qui précède présente quatre méthodes pour trouver différentes valeurs dans un tableau en PHP. Dans le développement réel, nous devons choisir la méthode la plus adaptée à la situation réelle. Si le tableau est petit, vous pouvez utiliser la méthode trois ou quatre ; si vous avez besoin de trouver des valeurs différentes dans plusieurs tableaux, vous pouvez utiliser la méthode deux ; si vous n'avez besoin de trouver que des valeurs différentes dans un seul tableau, vous pouvez utiliser ; première méthode.

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