phpbar.de logo

Mailinglisten-Archive

[php] Doppelte Eintraege in Array

[php] Doppelte Eintraege in Array

Andreas Kaiser php_(at)_phpcenter.de
Fri, 11 May 2001 10:21:58 +0200


Hallo Juri,

Am Freitag, 11. Mai 2001 um 10:06 wurde geschrieben:

> falls ich Dich richtig verstanden habe.
> So werden die gar nicht hinzugefuehgt.

> $arrWgroup = array();
>>$i = 0;
>> while ($db->next_record()) {

$tmp = $db->>f("wgroup");
> if (isset($arrWgroup[$tmp])) continue;
> $arrWgroup[$tmp] = 1;

>>     $res[$i]["id"] = $db->f("id");
>      $res[$i]["wgroup"] = $tmp;
>>     $res[$i]["wgrnumber"] = $db->f("wgrnumber");
>>     $i++;
>> } // while
> unset ($arrWgroup);

> Gruss,
> Juri


Da die Ergebnisse nicht nur aus einer SQL-DB stammen, sondern auch noch
aus anderen Quellen, ist das Problem etwas komplizierter:

<besseresBeispiel>
$i = 0;
while ($db->next_record()) {
    $res[$i]["id"] = $db->f("id");
    $res[$i]["prodkoeff"] = $prodkoeff($db->f("id"));
    $res[$i]["prodfaktor"] = $prodfaktor($db->f("id"));
    if ($res[$i]["prodfaktor"] > 0) {
        $res[$i]["prodgroup"] = $prodgroup($res[$i]["prodfaktor"]);
    } else {
        $res[$i]["prodgroup"] = $prodgroup($db->f("id");
    }
    $i++;
} // while
</besseresBeispiel>

Jetz kann es trotzdem passieren, das ich doppelte
$res[$i]["prodfaktor"] Einträge in meinem Array habe ("prodfaktor"
liegt doppelt vor).
Bei den Elementen wo $res[x]["prodfaktor"] == $res[y]["prodfaktor"] ist,
möchte ich das komplette Element $res[y] aus dem Array löschen.
Gibt es dafür eine Funktion ähnlich array_unique oder es sogar diese
Funktion?

Danke
Andreas
 
-- 
vocote.de e.K. Internetapplikationen, Webdesign, Webhosting
         Neudörfeler Str. 4a - D-08543 Jocketa
      Telefon: +49-37439-77175 - Fax: +49-37439-77185
  WWW: http://www.vocote.de - email: mailto:info_(at)_vocote.de




php::bar PHP Wiki   -   Listenarchive