Hello,
ich habe eine funktion die in etwa so aussieht.
Ich fand das früher immer so klasse.
Unter "Funktion" verstand man Konstrukte, die nur genau ein Funktionsergebnis zurückgaben, meistens über den Stack.
Unter "Prozedur" verstand man Konstrukte, die eventuell etwas zurückgaben, aber auch noch andere Aufgaben erledigt haben, also z.B. Ausgaben auf die Standardausgabe verursacht haben.
Leider will von dieser Sprachregelung heute keiner mehr etwas wissen und so murxen Funktionen auch beliebig auf Ausgabekanälen herum, speziell schlecht: auf der Standardausgabe.
Ich vermute daher, dass Du überhaupt erstmal nachlesen solltest, was es mit dem Gültigkeitsbereich von Variablen auf sich hat.
Wenn Du möchtest, dass eine (externe) Variable $error (Array) weiter aufgefüllt wird durch die "Funktion", dann musst Du dieser Funktion auch Zugriff darauf geben. Sauber macht man das über eine Referenz.
$error = array();
function test(&$error, &$blabla = "ka")
{
if(irgendwas_nicht_wahr_ist)
{
$error[] = "0815";
return "alles scheiße";
}
return "alles gut";
}
echo test($error);
if(empty($error) or !is_array($error))
{
echo $blabla;
}
else
{
foreach($error as $einfallslos);
echo "<p>$einfallslos</p>";
}
Meintest Du das?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg