Maison  >  Article  >  développement back-end  >  Comment supprimer les éléments en double d'un tableau en php

Comment supprimer les éléments en double d'un tableau en php

藏色散人
藏色散人original
2020-07-29 09:20:434359parcourir

Comment supprimer les éléments en double dans un tableau en PHP : créez d'abord un exemple de fichier PHP ; puis définissez une méthode "array_remove_value" ; puis supprimez-le via unset et enfin, utilisez la clé avant de supprimer le tableau pour ; utiliser la valeur Juste correspondante.

Comment supprimer les éléments en double d'un tableau en php

Recommandé : "Tutoriel PHP"

Méthode 1. Supprimer complètement les instances de tableau en double -----Supprimer Un élément du tableau

function array_remove_value(&$arr, $var){
foreach ($arr as $key => $value) {
if (is_array($value)) {
array_remove_value($arr[$key], $var);
} else {
$value = trim($value);
if ($value == $var) {
unset($arr[$key]);
} else {
$arr[$key] = $value;
}
}
}
}

$a est un tableau :

count($a); //得到4
unset($a[1]); //删除第二个元素
count($a); //得到3
echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue,
echo $a[1]; //无值
?>

C'est à dire, après suppression des éléments du tableau, le nombre d'éléments du tableau (obtenu avec count( )) devient , mais les indices du tableau ne sont pas réorganisés et la valeur correspondante doit être manipulée à l'aide de la clé avant de supprimer le tableau.

Plus tard, j'ai adopté une autre méthode, qui en fait ne s'appelle pas du tout une "méthode", j'ai utilisé la fonction prête à l'emploi array_splice() en php4.

count ($a); //得到4
array_splice($a,1,1); //删除第二个元素
count ($a); //得到3
echo $a[2]; //得到yellow
echo $a[1]; //得到blue
?>

Méthode 2. Fonction pour supprimer les éléments en double dans un tableau

function delmember(&$array, $id)
{
$size = count($array);
for($i = 0; $i <$size - $id - 1; $i ++)
{
$array[$id + $i] = $array[$id + $i + 1];
}
unset($array[$size - 1]);
}

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