Maison > Article > développement back-end > Comment obtenir des valeurs différentes de deux tableaux en php
3 façons d'obtenir des valeurs différentes : 1. Comparez les valeurs clés du tableau et renvoyez un tableau de différence contenant différentes valeurs, la syntaxe est "array_diff(array 1, array 2)". 2. Comparez les noms de clés du tableau et renvoyez un tableau de différence contenant différentes valeurs. La syntaxe est "array_diff_key(array 1, array 2)". 3. Comparez le nom de clé et la valeur de clé du tableau et renvoyez un tableau de différence contenant différentes valeurs, la syntaxe est "array_diff_assoc(array 1, array 2)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3
php obtient des valeurs différentesà partir de deux tableaux, ce qui consiste à comparer les deux tableaux et à obtenir l'ensemble des différences .
Il existe trois situations lors de la comparaison de tableaux en PHP : comparer uniquement les valeurs de clé, comparer uniquement les noms de clé et comparer les valeurs de clé et les noms de clé. Correspondant à trois fonctions intégrées :
array_diff()
array_diff_key()
array_diff_assoc()
Apprenons-le à travers des exemples
: 1, utilisez array_diff() Fonction - Comparez les valeurs clés des tableaux
La fonction array_diff() est utilisée pour comparer les valeurs de deux (ou plus) tableaux et renvoyer la différence.
array_diff(array1,array2,array3...);
Cette fonction compare les valeursde deux (ou plus) tableaux (clé=>valeur en valeur) et renvoie un tableau de différence, qui inclut toutes les valeurs du tableau comparé (tableau1), Mais des valeurs qui ne figurent dans aucun autre tableau de paramètres (array2 ou array3 etc.).
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array(1,2,3,4,5,6); $arr2=array(2,4,6,8,10,12); var_dump($arr1); var_dump($arr2); echo "两个数组的不同值:"; $result=array_diff($arr1,$arr2); var_dump($result); ?>
2. Utilisez la fonction array_diff_key() - comparez les noms de clés des tableaux
La fonction array_diff_key() est utilisée pour comparer les noms de clés de deux (ou plus) tableaux et renvoyer la différence.
array_diff_key(array1,array2,array3...);
Cette fonction compare les clés de deux (ou plus) tableaux et renvoie un tableau de différence qui inclut tous les éléments du tableau comparé (tableau1) mais aucun autre tableau de paramètres (tableau2 ou noms de clés dans le tableau3, etc.).
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); var_dump($arr1); var_dump($arr2); echo "两个数组的不同值:"; $result=array_diff_key($arr1,$arr2); var_dump($result); ?>
Dans l'exemple ci-dessus, deux noms de clés dans le tableau $arr1 et le tableau $arr2 sont différents. En fonction du tableau $arr1, la valeur ""c"=>"blue" code>. " et "<code>"d"=>"jaune"
", donc le résultat de sortie est : "c"=>"blue"
”和“"d"=>"yellow"
”,因此输出的结果为:
3、使用array_diff_assoc()函数--比较数组的键名和键值
array_diff_assoc() 函数用于比较两个(或更多个)数组的键名和键值 ,并返回差集。
array_diff_assoc(array1,array2,array3...);
该函数比较两个(或更多个)数组的键名和键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键名和键值。
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); var_dump($arr1); var_dump($arr2); echo "两个数组的不同值:"; $result=array_diff_assoc($arr1,$arr2); var_dump($result); ?>
上例中,$arr1数组和$arr2数组进行比较,有三个不相同的元素,然后以数组$arr1为准会得到值“"a"=>"red"
”、“"c"=>"blue"
”、“"d"=>"yellow"
"a"=>"red"
sera obtenue en fonction. sur le tableau $arr1. >", ""c"=>"blue"
", ""d"=>"jaune"
", donc la sortie le résultat est : 🎜🎜🎜 🎜🎜Apprentissage recommandé : "🎜Tutoriel vidéo PHP🎜"🎜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!