Chris: Osteraufgabe

Beitrag lesen

Nochmal Tach Seth,

Habe da jetzt einfach eine neue Funktion für's Sortieren erstellt. Die ist zwar ein bisschen umständlich, aber eine andere Lösung habe ich nicht gefunden.

ksort($_data);

Das kenne ich durchaus, sortiert aber anders, als natsort().
Und ich habe nun versucht, ein natsort() für die Keys zu bauen.
Was mir daran nicht gut gefällt, ist, dass das Array zeitweilig dreieinhalb mal im Speicher gehalten werden muss.

1,0 Original
2,0 an die Funktion übergebene Kopie
2,2 Die Keys aus dem Array
2,4   während der Sortierung nochmal irgendwie
3,4 das neu aufgebaute Array

Das würde ich gerne korrigieren. Die Funktion sollte als Prozedur arbeiten mit Referenz-Paramter

function key_natsort($_data)
{
  if(!is_array($_data))
  {
    return $_data;
  }

$_keys = array_keys($_data);
  natsort($_keys);

$_ret = array();

foreach ($_keys as $key)
  {
    $_ret[$key] = $_data[$key];
  }

return $_ret;
}

Weil es ohnehin regnet, habe ich ja noch Zeit, die Osteraufgabe anständig zu lösen ;-)) Aber 'ne gute Idee habe ich nicht.

Der Chris