Mike: array_unique sortiert nicht richtig und macht Fehler?

Beitrag lesen

Hallo,

bin mir zwar nicht sicher ob das Folgende nicht vielleicht doch so OK ist, zumindest würde ich aber eine andere Ausgabe von array_unique() erwarten.

Script
  
<?php  
  
$ar = array('rot','gelb','grün','rot','234fw343','blau','gold');  
  
$ar1 = array_unique($ar);  
$ar2 = array_unique($ar,SORT_REGULAR);  
$ar3 = array_unique($ar,SORT_NUMERIC);  
$ar4 = array_unique($ar,SORT_STRING);  
$ar5 = array_unique($ar,SORT_LOCALE_STRING);  
  
  
  
print_r($ar1);  
print_r($ar2);  
print_r($ar3);  
print_r($ar4);  
print_r($ar5);  
  
?>  

Bei der Ausgabe ändert sich, egal mit welchen sort_flags, nichts. Außer SORT_NUMERIC, wobei dann einfach Werte wegfallen. Ziel war es eine alphabetische Sortierung zu erhalten, klar geht das auch mit anderen Möglichkeiten, doch hatte ich das so im Manual verstanden, dass es mit den Flags auch funktionieren müsste? Aber dass bei numerischer Sortierung einfach Werte wegfallen, dürfte doch auch nicht richtig sein?

Ausgabe
  
Array  
(  
    [0] => rot  
    [1] => gelb  
    [2] => grün  
    [4] => 234fw343  
    [5] => blau  
    [6] => gold  
)  
Array  
(  
    [0] => rot  
    [1] => gelb  
    [2] => grün  
    [4] => 234fw343  
    [5] => blau  
    [6] => gold  
)  
Array  
(  
    [0] => rot  
    [4] => 234fw343  
)  
Array  
(  
    [0] => rot  
    [1] => gelb  
    [2] => grün  
    [4] => 234fw343  
    [5] => blau  
    [6] => gold  
)  
Array  
(  
    [0] => rot  
    [1] => gelb  
    [2] => grün  
    [4] => 234fw343  
    [5] => blau  
    [6] => gold  
)  
  
  

Gruss
Mike