Heim > Artikel > Backend-Entwicklung > PHP array_unique implementiert die zweidimensionale Array-Deduplizierung
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_flags
Parameter
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('id' => 123, 'name' => '张三'), array('id' => 123, 'name' => '李四'), array('id' => 124, 'name' => '王五'), array('id' => 125, 'name' => '赵六'), array('id' => 126, 'name' => '赵六') ); $key = 'id'; 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('id' => 123, 'name' => '张三'), array('id' => 123, 'name' => '李四'), array('id' => 124, 'name' => '王五'), array('id' => 123, 'name' => '李四'), array('id' => 126, 'name' => '赵六') ); $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!