dedlfix: Doppelte Einträge in Array per Funktion löschen

Beitrag lesen

echo $begrüßung;

dedlfix hatte mir den Hinweis gegeben dass das Löschen doppelter Einträge in einem Array per Callback-Funktion möglich sei.

Ja, aber eine Callback-Funktion ist dazu da, um von einer anderen Funktion aufgerufen zu werden. In deinem Fall wäre das array_filter().

(Es ging übrigens um diese Aufgabenstellung: </archiv/2006/6/t132169/>

Das ist die Callback-Funktion:

function doppelte_filter($value, $reset = false){
  static $cache = array();

Die muss einmalig aufgerufen werden, um den internen Cache zu löschen. (Beim allerersten Mal kann man sich das schenken, aber schaden tut es auch nicht.)

doppelte_filter(null, true);

Hier durchlaufe ich das Result Array aus der Datenbank [...]

Das Durchlaufen macht array_filter(), dabei ruft es für jeden Wert aus dem übergebenen Array die Callback-Funktion auf, die dann für diesen Wert Daumen hoch oder runter entscheidet.

$unique_array = array_filter($result_array, 'doppelte_filter');

echo "$verabschiedung $name";