Heim > Backend-Entwicklung > PHP-Tutorial > PHP array_unique implementiert die zweidimensionale Array-Deduplizierung

PHP array_unique implementiert die zweidimensionale Array-Deduplizierung

coldplay.xixi
Freigeben: 2023-04-09 08:16:01
nach vorne
3614 Leute haben es durchsucht

Die Funktion

<img src="https://img.php.cn/upload/article/202007/15/2020071517144631020.jpg" alt="PHP array_unique implementiert die zweidimensionale Array-Deduplizierung" >

array_unique kann Duplikate verarbeiten. Sie verfügt über diese Funktion. Schauen wir uns ein Beispiel für die Verwendung von array_unique in PHP an, um zweidimensionale Arrays zu deduplizieren.

PHP 5.2.9-Version fügt array_unique-Unterstützung für mehrdimensionale Arrays hinzu. Bei der Verarbeitung mehrdimensionaler Arrays müssen Sie den sort_flagsParameter

Duplikate von ein- dimensionale Arrays:

Verwenden Sie einfach die Funktion array_unique. Das Anwendungsbeispiel lautet wie folgt:

Der Code lautet wie folgt

<?php
$aa = array("apple", "banana", "pear", "apple", "wail", "watermalon");
$bb = array_unique($aa);
print_r($bb);
?>
Nach dem Login kopieren

Das Ergebnis ist wie folgt:

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

Der Code zum Entfernen doppelter Elemente aus einem zweidimensionalen Array

lautet wie folgt

Beispiel:

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

wird verarbeitet in

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

Nutzungsmethode

array_unique($result, SORT_REGULAR);

Wiederholung eines zweidimensionalen Arrays Item:

Für zweidimensionale Arrays werden wir es in zwei Situationen diskutieren Der Wert eines bestimmten Schlüsselnamens kann nicht wiederholt werden, sodass doppelte Elemente gelöscht werden. Der andere Grund liegt darin, dass das interne eindimensionale Array nicht genau gleich sein kann. Das folgende Beispiel veranschaulicht das Löschen doppelter Elemente:

㈠Weil Der Wert eines bestimmten Schlüsselnamens kann nicht wiederholt werden, doppelte Elemente löschen

Der PHP-Code lautet wie folgt

<?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);
?>
Nach dem Login kopieren

Das angezeigte Ergebnis ist:

Array ( [0] => Array ( [id] => 123 [name] => 张三 ) [1] => Array ( [id] => 124 [name] => 王五 ) [2] => Array ( [id] => 125 [name] => 赵六 ) [3] => Array ( [id] => 126 [name] => 赵六 ) )
Nach dem Login kopieren

Weil der interne Dimensionsarrays können nicht genau gleich sein, die doppelten Elemente werden gelöscht

Der Code lautet wie folgt

<?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)
?>
Nach dem Login kopieren

Ergebnisse anzeigen:

Array ( [0] => Array ( [0] => 123 [1] => 张三 ) [1] => Array ( [0] => 123 [1] => 李四 ) [2] => Array ( [0] => 124 [1] => 王五 ) [4] => Array ( [0] => 126 [1] => 赵六 ) )
Nach dem Login kopieren

Verwandte Lernempfehlungen:PHP-Programmierung vom Anfänger bis zum Experten

Das obige ist der detaillierte Inhalt vonPHP array_unique implementiert die zweidimensionale Array-Deduplizierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage