Maison > développement back-end > Problème PHP > Comment obtenir des valeurs différentes dans deux tableaux en php

Comment obtenir des valeurs différentes dans deux tableaux en php

PHPz
Libérer: 2023-04-20 11:02:30
original
662 Les gens l'ont consulté

En PHP, pour récupérer les différents éléments dans deux tableaux, on peut utiliser la fonction array_diff(). Cette fonction renvoie un nouveau tableau composé d'éléments présents dans le tableau 1 mais non présents dans le tableau 2.

Ce qui suit est un exemple, en supposant que les deux tableaux que nous voulons comparer sont $arr1 et $arr2 :

$arr1 = array("apple", "banana", "orange");
$arr2 = array("banana", "orange", "pear", "kiwi");
$result = array_diff($arr1, $arr2);
print_r($result); // 输出:Array ( [0] => apple )
Copier après la connexion

Dans cet exemple, l'élément "apple" dans $arr1 n'apparaît pas dans $arr2, il est donc renvoyé dans le tableau $result.

Mais sachez que array_diff() ne compare que les tableaux unidimensionnels. Si vous souhaitez comparer des tableaux multidimensionnels, vous devez écrire vous-même la fonction récursive. Voici un exemple de comparaison de tableaux multidimensionnels :

function array_diff_multi($arr1, $arr2) {
    $diff = array();
    foreach ($arr1 as $key => $value) {
        if (is_array($value) && isset($arr2[$key]) && is_array($arr2[$key])) {
            $diff[$key] = array_diff_multi($value, $arr2[$key]);
        } else {
            if (!in_array($value, $arr2)) {
                $diff[$key] = $value;
            }
        }
    }
    return $diff;
}

$arr1 = array("fruit" => array("apple", "banana", "orange"), "color" => "blue");
$arr2 = array("fruit" => array("banana", "orange", "pear", "kiwi"), "color" => "red");
$result = array_diff_multi($arr1, $arr2);
print_r($result); // 输出:Array ( [fruit] => Array ( [0] => apple ) [color] => blue )
Copier après la connexion

Dans cet exemple, nous avons créé une fonction personnalisée array_diff_multi() qui compare deux tableaux multidimensionnels. Nous utilisons la récursion pour comparer les éléments de chaque sous-tableau.

En bref, il existe de nombreuses façons d'obtenir différents éléments de deux tableaux en PHP. La fonction array_diff() est l'une des méthodes les plus simples et les plus couramment utilisées, mais elle ne fonctionne qu'avec des tableaux unidimensionnels. Si vous souhaitez comparer des tableaux multidimensionnels, vous devez utiliser une fonction récursive personnalisée.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal