phpbar.de logo

Mailinglisten-Archive

[php] array sortieren..

[php] array sortieren..

Norbert Pfeiffer norbert at itbw.de
Die Jun 8 18:17:26 CEST 2004


Hi,

> Hast Du auch schon mal an die Funktion array_multisort()
> gedacht?
nee - da denke ich nie dran, weil nirgends eineindeutig
beschrieben ist, was dabei herauskommt. Man kann es nur
austesten und hoffen, dass das Ergebnis stabil ist ...

Aber uasort(); finde ich erste Wahl:
<?
function comp($A, $B) {
    $a = $A['hits'];
    $b = $B['hits'];
    if ($a == $b) return 0;
    return ($a > $b) ? -1 : 1;
}
$ARR = array(
'foo' => array('hits'=>1, 'html'=>'asdf.html'),
'bar' => array('hits'=>1, 'html'=>'qwer.html'),
'yxc' => array('hits'=>2, 'html'=>'yxcv.html'),
'qwe' => array('hits'=>1, 'html'=>'ghjk.html'),
'lkj' => array('hits'=>1, 'html'=>'tzui.html'));
print_r($ARR);
uasort($ARR, 'comp');
print_r($ARR);
?>
Da sieht man, was passiert und kann notfalls eingreifen,
wenn was aus dem Ruder laeuft ...


m. b. G. Norbert
_____________________
normal:  02686-987103
Notruf:  0177-2363368
---------------------
e.o.m.
----- Original Message -----
From: "Lutz Zetzsche" <Lutz.Zetzsche at sea-rescue.de>
To: "deutschsprachige PHP-Mailingliste" <php at phpbar.de>
Sent: Tuesday, June 08, 2004 4:59 PM
Subject: Re: [php] array sortieren..



Zitat von Christian Schäfer:

> ich brauch mal wieder eure hilfe.
>
> ich habe ein hash array dessen keys ich nicht vorhersagen kann
>
> $array['bar']
> $array['foo']
> $array['etc']
> ...
>
>
> jedes dieser elemente ist wieder ein array mit genau zwei feldern/keys:
>
> 'hits' ist immer eine ganzzahl
> 'html' ist halt irgendein html
>
> jetzt möchte ich oben genanntes $array mit uasort absteigend nach 'hits'
> sortieren. wie aber muss ich dazu meine cmp() formulieren?

nur auf die Schnelle:



Viele Gruesse

Lutz
--
** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
Informationen: http://www.phpbar.de
http://lists.phpbar.de/mailman/listinfo/php


php::bar PHP Wiki   -   Listenarchive