echo $begrüßung;
Du tust dir und anderen keinen Gefallen, wenn du die Code-Einrückung so undeutlich gestaltest. Eine neue Ebene sollte mindestens zwei Leerzeichen weiter eingerückt sein. Bei nur einem ist es schwer die Übersicht zu behalten. Auch ein paar mehr Leerzeichen z.B. zwischen den Variablen und Operatoren schaden ihr nicht.
function mwe_search($haystack, $needle, $searchKey = null, $path = '', $sep = '/'){
$searchKey = $key;
mwe_search($value,$needle, $path='' );
Fehler zu suchen ist eine unangenehme Aufgabe, aber eine notwendige. Gibt doch mal aus, was die Funktion für Werte übergeben bekommt. Dann solltest du recht schnell sehen, dass bei deinem rekursiven Aufruf der Pfad an der falschen Stelle steht, und außerdem immer '' ist. Du übergibst da nämlich immer das Ergebnis einer Zuweisung. Weiterhin ist die Zuweisung an $searchKey recht sinnlos. Und außerdem unterschlägst du die Auswertung des Ergebnisses des rekursiven Aufrufs.
echo "$verabschiedung $name";