Das liegt daran, das es nicht geht. Du hast das prinziep der funktionen missverstanden.
wenn du z.B $ich = function(); aufrufst, wird die funktion ausgeführt, und der rückgabewert in der var gespeichert.
Wenn du aber in einer Funktion ein Echo einfügst, wird beim aufrufen eben das echo ausgeführt.
Für das was du machen möchtest, musst du return nutzen.
bsp.
<span class="syntaxdefault"><br />function anrede</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$var</span><span class="syntaxkeyword">){<br />if(</span><span class="syntaxdefault">$var </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"frau"</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">return </span><span class="syntaxstring">"geehrte Frau,"</span><span class="syntaxkeyword">;<br />}else{<br /></span><span class="syntaxdefault">return </span><span class="syntaxstring">"geehrter Herr,"</span><span class="syntaxkeyword">;<br />}<br />}<br /><br /><br /><br /></span><span class="syntaxdefault"> <br /><br /> </span>
Das hinter dem return ist die rückgabe der Funktion, bei einem return wird die Funktion gleichzeitig beendet.
wenn man nun nur die funktion aufruft, wird nichts geschehen.
Benutzen würdest du sie so:
<span class="syntaxdefault"><br />$anrede </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> anrede</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'geschlecht'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">echo $anrede</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span>