array_unique() für multidimensionale Arrays
August 2010
Die PHP-Funktion array_unique() ist gebräuchlich, um doppelte Einträge aus einem Array zu entfernen. Allerdings hat die Funktion einen Haken: Sie funktioniert bei multidimensionalen Arrays nicht so, wie sie sollte, stattdessen liefert sie "wirres Zeug".
Mit der folgenden Funktion array_multi_unique() lassen sich aber auch mehrdimensionale Arrays von Duplikaten säubern:
Anwendungsbeispiel:
Mit dieser Funktion kann man übrigens auch "normale" eindimensionale Arrays bereinigen.
Siehe auch:
Mit der folgenden Funktion array_multi_unique() lassen sich aber auch mehrdimensionale Arrays von Duplikaten säubern:
<?php
function array_multi_unique($multiArray){
/* array_unique() für multidimensionale Arrays
* @param array $multiArray = array(array(..), array(..), ..)
* @return array Array mit einmaligen Elementen
**/
$uniqueArray = array();
// alle Array-Elemente durchgehen
foreach($multiArray as $subArray){
// prüfen, ob Element bereits im Unique-Array
if(!in_array($subArray, $uniqueArray)){
// Element hinzufügen, wenn noch nicht drin
$uniqueArray[] = $subArray;
}
}
return $uniqueArray;
}
?>Anwendungsbeispiel:
<?php
$array = array(
array('ab', 12),
array('cd', 34),
array('ab', 12)
);
// mehrfache Einträge entfernen
$unique = array_multi_unique($array);
?>Mit dieser Funktion kann man übrigens auch "normale" eindimensionale Arrays bereinigen.
Siehe auch:
Andere Einträge
- array_map_recursive()
- href und URL zusammensetzen
- Array-Zeiger auf bestimmten Key setzen
- URL im Text intelligent erkennen
- is_utf8() – auf UTF-8 prüfen
Kommentare
Es sind noch keine Kommentare vorhanden.