![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: php.test, 31. 01. 2003, 13:52
Hallo,
ich habe ein Array mit unterschiedlichen Werten die natürlich, und nicht case-sensitive, sortiert werden sollen. natcasesort() wäre dazu perfekt geeignet, jedoch funktioniert bei mir die Funktion einfach nicht !
Nachdem ich das zu sortierende Array an natcasesort() übergeben habe sieht es ganauso aus wie vorher. sort() funktioniert, sortiert jedoch nicht wie ich es brauche.
Auf selfphp steht, dass natcasesort seit PHP 4 >= 4.0RC2 unterstüzt wird, auf meiner Domain läuft PHP 4.1.1 - müsste also _eigentlich_ gehen. Kann mir da einer weiterhelfen??? :(
Die folgende Nachricht zum Thema stammt von: Sönke Tesch, 31. 01. 2003, 14:59
»» natcasesort() wäre dazu perfekt geeignet, jedoch funktioniert bei mir die Funktion einfach nicht !
Na sowas.
»» Nachdem ich das zu sortierende Array an natcasesort() übergeben habe sieht es ganauso aus wie vorher. sort() funktioniert, sortiert jedoch nicht wie ich es brauche.
Was soll denn überhaupt sortiert werden? "Funktioniert nicht" beschreibt Dein Problem nur reichlich wage. Wenn Dein Feld etwa so aussieht:
1
2
10
ist es jedenfalls kein Wunder, daß natcasesort() "nix" tut, sort() aber schon..
Gruß,
soenk.e
Die folgende Nachricht zum Thema stammt von: php.test, 31. 01. 2003, 15:13
»» Was soll denn überhaupt sortiert werden?
Es sollen Strings (genauer: technische Bezeichungen) sortiert werden. Das Array hat z.B. folgende Werte:
$arr[0] = "SMV5845748";
$arr[1] = "smdd32";
$arr[2] = "t_test";
$arr[3] = "TTd-32";
...
Folglich müsste natcasesort funktionierten.
sort() kann ich nicht hernehmen, da es case-sensitive arbeitet.
Die folgende Nachricht zum Thema stammt von: Sönke Tesch, 01. 02. 2003, 12:11
»» »» Was soll denn überhaupt sortiert werden?
»»
»» Es sollen Strings (genauer: technische Bezeichungen) sortiert werden. Das Array hat z.B. folgende Werte:
»» $arr[0] = "SMV5845748";
»» $arr[1] = "smdd32";
»» $arr[2] = "t_test";
»» $arr[3] = "TTd-32";
»» ...
»»
»» Folglich müsste natcasesort funktionierten.
Sortieren tut's, erwartest Du vielleicht einfach eine andere Sortierung?
natcasesort:
[1] => smdd32
[0] => SMV5845748
[3] => TTd-32
[2] => t_test
»» sort() kann ich nicht hernehmen, da es case-sensitive arbeitet.
Du kannst stattdessen usort() in Verbindung mit strcasecmp() benutzen:
usort($arr,"strcasecmp");
ergibt folgendes:
[0] => smdd32
[1] => SMV5845748
[2] => t_test
[3] => TTd-32
Gruß,
soenk.e
© 1998-2006
Impressum, Software: Classic Forum