Uschi Renziehausen: Strings in einem Array sortieren

Beitrag lesen

Hallo,

ich habe mal mit natcasesort() experimentiert. Dann steht zwar das Alphabet in der richtigen Reihenfolge, aber die Kleinbuchstaben kommen zuerst.

Ansatz Nummer 2 = usort, aber in der compare-Funktion alles wahlos strtolower setzen. Das scheint das Ergebnis zu liefern, was du haben möchtest.

Liebe Grüße, Uschi

<?php

$test=array();

$test[0]="B";
$test[1]="a";
$test[2]="b";
$test[3]="A";
$test[4]="BB";
$test[5]="AA";
$test[6]="ab";
$test[7]="Ab";
$test[8]="AB";

natcasesort($test);
echo "<pre>";
  print_r($test);
echo "</pre>";

function cmp ($a, $b) {
    if (strtolower($a) == strtolower($b)) return 0;
    return (strtolower($a) < strtolower($b)) ? -1 : 1;
}

usort ($test, "cmp");
echo "<pre>";
  print_r($test);
echo "</pre>";

?>