Maison >développement back-end >Problème PHP >Comment obtenir des valeurs différentes dans deux tableaux en php
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 )
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 )
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!