PHP array_unique implémente la déduplication de tableau bidimensionnel

coldplay.xixi
Libérer: 2023-04-09 08:16:01
avant
3551 Les gens l'ont consulté

La fonction

<img src="https://img.php.cn/upload/article/202007/15/2020071517144631020.jpg" alt="PHP array_unique implémente la déduplication de tableau bidimensionnel" >

array_unique peut gérer les doublons. Elle a cette fonction. Jetons un coup d'œil à un exemple d'utilisation de array_unique en PHP pour dédupliquer des tableaux bidimensionnels.

La version php 5.2.9 ajoute la prise en charge de array_unique pour les tableaux multidimensionnels Lors du traitement de tableaux multidimensionnels, vous devez définir le paramètre sort_flags

Duplicates of one-. tableaux dimensionnels :

Utilisez simplement la fonction array_unique. L'exemple d'utilisation est le suivant :

Le code est le suivant

<?php
$aa = array("apple", "banana", "pear", "apple", "wail", "watermalon");
$bb = array_unique($aa);
print_r($bb);
?>
Copier après la connexion

Le résultat est le suivant :

Array ( [0] => apple [1] => banana [2] => pear [4] => wail [5] => watermalon )

Le code pour supprimer les éléments en double d'un tableau à deux dimensions

est le suivant

Par exemple :

$result = array(
0=>array('a'=> ;1,'b'=>'Bonjour'),
1=>array('a'=> ;1,'b'=>'autre'),
2=>array ('a'=>1,'b'=>'autre'),
);

est traité en

$result = array(
0=>array('a'=>1,'b'=>' Bonjour'),
1=>array('a'=>1,'b '=>'other')
);

Méthode d'utilisation

array_unique($result, SORT_REGULAR);

Répétition d'un tableau bidimensionnel Article :

Pour les tableaux bidimensionnels, nous en discuterons dans deux situations. La première est parce que le. La valeur d'un certain nom de clé ne peut pas être répétée, donc les éléments en double sont supprimés ; l'autre est dû au fait que le tableau interne unidimensionnel ne peut pas être exactement le même, et pour supprimer les éléments en double, l'exemple suivant illustre :

㈠Parce que la valeur d'un certain nom de clé ne peut pas être répétée, supprimez les éléments en double

Le code PHP est le suivant

<?php

function assoc_unique($arr, $key) {
  $tmp_arr = array();
  foreach ($arr as $k => $v) {
    if (in_array($v[$key], $tmp_arr)) {//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
      unset($arr[$k]);
    } else {
      $tmp_arr[] = $v[$key];
    }
  }
  sort($arr); //sort函数对数组进行排序
  return $arr;
}

$aa = array(
  array(&#39;id&#39; => 123, &#39;name&#39; => &#39;张三&#39;),
  array(&#39;id&#39; => 123, &#39;name&#39; => &#39;李四&#39;),
  array(&#39;id&#39; => 124, &#39;name&#39; => &#39;王五&#39;),
  array(&#39;id&#39; => 125, &#39;name&#39; => &#39;赵六&#39;),
  array(&#39;id&#39; => 126, &#39;name&#39; => &#39;赵六&#39;)
);
$key = &#39;id&#39;;
assoc_unique(&$aa, $key);
print_r($aa);
?>
Copier après la connexion

Le résultat affiché est :

Array ( [0] => Array ( [id] => 123 [name] => 张三 ) [1] => Array ( [id] => 124 [name] => 王五 ) [2] => Array ( [id] => 125 [name] => 赵六 ) [3] => Array ( [id] => 126 [name] => 赵六 ) )
Copier après la connexion

Parce que le code interne- les tableaux dimensionnels ne peuvent pas être exactement les mêmes, les éléments en double sont supprimés

Le code est le suivant

<?php

function array_unique_fb($array2D) {
  foreach ($array2D as $v) {
    $v = join(",", $v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
    $temp[] = $v;
  }
  $temp = array_unique($temp);//去掉重复的字符串,也就是重复的一维数组
  foreach ($temp as $k => $v) {
    $temp[$k] = explode(",", $v);//再将拆开的数组重新组装
  }
  return $temp;
}
$aa = array(
  array(&#39;id&#39; => 123, &#39;name&#39; => &#39;张三&#39;),
  array(&#39;id&#39; => 123, &#39;name&#39; => &#39;李四&#39;),
  array(&#39;id&#39; => 124, &#39;name&#39; => &#39;王五&#39;),
  array(&#39;id&#39; => 123, &#39;name&#39; => &#39;李四&#39;),
  array(&#39;id&#39; => 126, &#39;name&#39; => &#39;赵六&#39;)
);
$bb = array_unique_fb($aa);
print_r($bb)
?>
Copier après la connexion

Afficher les résultats :

Array ( [0] => Array ( [0] => 123 [1] => 张三 ) [1] => Array ( [0] => 123 [1] => 李四 ) [2] => Array ( [0] => 124 [1] => 王五 ) [4] => Array ( [0] => 126 [1] => 赵六 ) )
Copier après la connexion

Recommandations d'apprentissage associées :Programmation PHP du débutant au compétent

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!

Étiquettes associées:
source:jb51.net
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