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

PHP array_unique implementiert die zweidimensionale Array-Deduplizierung

coldplay.xixi
coldplay.xixinach vorne
2020-07-15 17:16:163534Durchsuche

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);
?>

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);
?>

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] => 赵六 ) )

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)
?>

Ergebnisse anzeigen:

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen

In Verbindung stehende Artikel

Mehr sehen