echo $begrüßung;
Mit array_walk() kann man das zu bearbeitende Array aber nicht verändern.
Das geht schon:
function removeEmptyElement($value, $key, $array) {
if (empty($value))
unset($array[$key]);
}
array_walk($array, 'removeEmptyElement', &$array);
Beachte die Referenz bei der Übergabe des dritten Parameters. Allerdings hat diese Lösung einen Schönheitsfehler, der sich mit einer "Call-time pass-by-reference has been deprecated"-Warnung zeigt.
Es gibt meines Wissens keine Funktion, die ein Array nach einem Wert durchsucht, und diesen dann gleich auch noch aus dem Array löscht.
Man muss ja auch nicht für alle denkbaren und undenkbaren Fälle eine Funktion vorhalten. Das muss ja auch noch alles gewartet werden...
Ich hab nochmal was probiert und ein foreach als genau so zweckmäßig und elegant empfunden:
foreach ($array as $key => $value)
if (empty($value))
unset($array[$key]);
Ich würde dies dann doch dem array_walk() vorziehen.
echo "$verabschiedung $name";