echo $begrüßung;
strtr() (zweite Aufrufvariante) [...]
Seit wann kann man PHP Funktionen überladen?
Bis jetzt kann man das nicht (ich denke auch nicht, dass das kommen wird), man kann es aber simulieren.
Das Handbuch führt beide Aufrufvarianten so an:
string strtr ( string str, string from, string to )
string strtr ( string str, array replace_pairs )
Selbst implementiert sieht das beispielsweise so aus:
/**
* Translate certain characters
*
* @param string $str
* @param string/array $from
* @param string $to (optional)
* @return string
*/
function strtr($str, $from, $to = null) {
if (is_array($from))
// replace_pairs-Variante
elseif (is_string($from) and is_string($to))
// from-to-Variante
else
// ungültiger Aufruf
}
In der replace_pairs-Variante wird der als optional deklarierte Parameter $to ignoriert. Da er nicht angegeben werden muss, weil "= null" ihn optional macht, kann man die Funktion auch mit nur zwei Parametern aufrufen. Wenn man will, kann man noch $from nach $replace_pairs umkopieren, doch das ist im Prinzip unnötig. Die Bedeutung von $from kann auch durch einen Kommentar geklärt werden.
echo "$verabschiedung $name";