Les méthodes permettant de maintenir la correspondance clé-valeur après la déduplication du tableau PHP sont : utilisez la fonction array_unique() pour supprimer les valeurs en double, puis utilisez la fonction array_flip() pour échanger des paires clé-valeur. Fusionnez le tableau d'origine avec le tableau dédupliqué et utilisez la méthode de fusion de tableaux pour conserver la correspondance clé-valeur.
Le tableau PHP maintient la correspondance clé-valeur après la déduplication
Introduction
Lors du traitement des tableaux PHP, nous devons parfois supprimer les éléments en double tout en conservant leur correspondance clé-valeur. Ce didacticiel vous montrera comment utiliser la fonction array_unique()
en combinaison avec d'autres méthodes pour atteindre cet objectif. array_unique()
函数并结合其他方法来实现这一目标。
array_unique() 函数
array_unique()
函数可用于从数组中删除重复值。默认情况下,它会对数组中的值进行比较,并保留第一个出现的值的键值对应。
代码示例
$array = ['foo', 'bar', 'baz', 'foo', 'xyz']; $uniqueArray = array_unique($array); print_r($uniqueArray);
输出:
Array ( [0] => foo [1] => bar [2] => baz [4] => xyz )
保持键值对应
为了保持数组中元素的键值对应,我们需要使用额外的步骤。一种方法是使用 array_flip()
Fonction Array_unique() La fonction
array_unique()
peut être utilisée pour supprimer les valeurs en double d'un tableau. Par défaut, il compare les valeurs du tableau et conserve la correspondance clé-valeur de la première occurrence. Exemple de code
$flippedArray = array_flip($uniqueArray); print_r($flippedArray);
Array ( [foo] => 0 [bar] => 1 [baz] => 2 [xyz] => 4 )
Maintenir la correspondance clé-valeur
Afin de maintenir la correspondance clé-valeur pour les éléments du tableau, nous devons utiliser une étape supplémentaire. Une solution consiste à utiliser la fonction array_flip()
, qui échange la clé et la valeur d'une paire clé-valeur.
Exemple de code
$newArray = array_merge($array, $uniqueArray); print_r($newArray);
Array ( [0] => foo [3] => foo [1] => bar [4] => baz [2] => xyz )
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!