Missing Argument in...

Benzol

Erfahrenes Mitglied
Ich habe eine BBCode-Funktion in meiner Seite eingebaut. Für einen Speziellen Teil, musste ich nun an diese Funktion aber noch einen Parameter übergen, diesen habe ich dann in der Funktion ebenfalls deklariert. Nun meckert er natürlich bei allen anderen Aufrufen, das Ihm ein Parameter fehlt. Da meine Seite allerdings einen sehr großen Funktionsumfang hat, und ich die Funktion auch des öfteren Aufrufe, würde es mich interessieren, ob ich den Fehler umgehen kann, ohne bei allen anderen Aufrufen noch einen Parameter hinzuzufügen.
Kann ich da mogeln oder muss ich mir die Arbeit machen? Eine 2. Funktion extra für diesen einen Aufruf zu erstellen finde ich etwas uncool gelöst ;)
 
Du kannst den Parametern einer Funktion einen Standardwert vorgeben:

PHP:
function foo($bar, $baz = 0)
{
    // ...
}

Diese Funktion kannst du sowohl mit einem, als auch mit zwei Parametern aufrufen. Wichtig ist, dass die optionalen Parameter stets am Ende der Liste stehen.


Eine Alternative wäre natürlich noch:

PHP:
function foo($bar)
{
    $baz = 0;
    if (func_num_args() > 1)
    {
        $baz = func_get_arg(1);
    }
    // ...
}
 
Zuletzt bearbeitet:
Zurück