PHP function missing argument error
Meine validate-Funktion aussieht, die
function validate($data, $data2 = 0, $type)
{
...
Funktionsaufruf Beispiel
if ($result = validate($lname, 'name') !== true)
response(0, $result, 'lname');
Wie Sie sehen, meine validate-Funktion hat 3 input vars. Ich bin nicht mit der zweiten var $data2 oft, das ist, warum setzen es standardmäßig auf 0. Aber wenn ich rufe diese Funktion als Beispiel (so weit ich weiß, bedeutet es, $Daten=$nName, $data2=0, $type='name') erste Fehlermeldung
Missing argument 3 ($type) for validate()
Wie kann ich das beheben?
- Rufen Sie wie
validate($lname, 0,'name')
Du musst angemeldet sein, um einen Kommentar abzugeben.
Immer Liste optionaler Argumente wie die letzten Argumente. Da PHP nicht benannten Parameter noch ein "überladen ala Java", das ist der einzige Weg:
Sollten Sie zumindest festlegen $geben Sie in dieser Zeile:
in
NULL
oder''
wie man hier sehen kann:PHP können Sie einen Wert für den Parameter, aber Sie können nicht definieren einen parameter OHNE einen voreingestellten Wert NACH parameter(s), die HABEN einen voreingestellten Wert. Also, wenn Sie brauchen, um geben Sie immer die Dritte param, schalten Sie den zweiten und den Dritten so:
Vom http://php.net/manual/en/functions.arguments.php
Sollte Sie wechseln, die zweiten und Dritten Argumente der Funktion, so dass das optionale argument der letzten. So wird es:
ich bin ein Anfänger, aber ich denke, dass Sie verwenden können, als tausend Argumente
solange Sie so nennen
Beachten Sie, dass beginnend mit PHP 7.1 dieser wirft einen PHP Fatal error, nicht nur eine Warnung:
Mehr info: http://php.net/manual/en/migration71.incompatible.php