Hallo,
das weiß ich nicht. Ehrlich gesagt, ich hätte es auch nicht erwartet. Ich hätte auch gedacht, dass die Uniquification als erster Schritt abläuft, und erst im zweiten Schritt optional(!) die verbliebenen Werte sortiert werden.
ja so hatte ich das auch verstanden, bis auf die Sortierung, die ja angeblich schon immer zu der Funktion gehört hat, also nicht optional.
Andererseits: Wer numerisch sortiert, der erwartet numerische Werte. Nicht-numerische Einträge sollten dann also gar nicht vorkomemn bzw. in einer vorgelagerten Eingabeprüfung schon reklamiert worden sein. Wenn diese Einträge dann in der weiteren Verarbeitung unter den Tisch fallen, ist das gar nicht so falsch.
Genau, würden die nichtnumerischen wegfallen, fände ich das zwar nicht im Sinne der Funktion aber zumindest plausibel.
Nehmen wir mal den normalen Fall an, für den diese Funktion eigentlich konzipiert sein sollte:
Du hast ein großes Array mit vielen auch gleichen Werten. Die Doppler sollen raus und das Ganze, wie auch immer(alphabetisch, usw...), sortiert werden.Ja, aber dann ergibt es IMO keinen Sinn, streng "numerisch" zu sortieren.
Habe ich auch gar nicht vor, war nur ein unerwarteter Output beim Testen dieser Sortierung. Gewünscht ist die Sortierung nach regular oder string, doch da tut sich ja gar nichts.
Ich halte es eh nicht für sinnvoll, dass array_unique() noch mit Sortier-Fähigkeiten ausgestattet wurde - das Ergebnis ist genau die Verblüffung, wie du sie jetzt erlebst. Aber solche unlogischen Lösungen gibt's in PHP häufig.
Ja ohne Sortierfunktion, wäre array_unique unter diesen Umständen sicher sinnvoller, nur du kannst es dir gar nicht aussuchen. Die Sortierfunktion war und ist nicht optional, lediglich die Art der Sortierung. Um also auf Nummer Sicher zu gehen, bietet sich nur an, komplett auf diese Funktion zu verzichten und eine eigene zu nutzen.
Unlogische Lösungen in PHP häufig? Kann ich jetzt glücklicherweise nicht bestätigen, was dann wohl bedeutet, mir ist Einiges entgangen. Somit wäre es sehr wissenswert, wenn Du ein paar Beispiele anbringen könntest.
Nein. Es ist ja auch kein PHP. Am besten nur als [code] ohne Sprachangabe.
Dafür gibt's aber <schreibfaul>keinen Button</schreibfaul> ;-)