Ich verbrachte viel Zeit, um dieses Problem in der Produktionsumgebung herauszufinden. In der QA-, UAT- und DEV-Umgebung funktioniert das gut. Es scheint, dass etwas mit dem Server zu tun hat. Unten sind die Details, die ich gemacht habe.Warum erhält der letzte Parameter einer Funktion nicht seinen Wert?
Ich habe auf mehr Feld zu einer vorhandenen Funktion mit Standardwert hinzugefügt und mit NULL und "" als Standardwert getestet.
public function test($a, $b, $c = '')
public function test($a, $b, $c = NULL)
Wenn ich diese Funktion aufrufen, erhält das letzte Argument seinen Wert nicht. Wenn ich die Argumente in der Protokolldatei drucke, erhalte ich den Standardwert für den letzten Parameter, d. H. NULL anstelle des tatsächlichen Werts. Ich verwende Zend-Framework 1.
Unten ist der Code, um die Argumente in die Protokolldatei zu schreiben. Ich habe unterhalb der Zeile am Anfang der Funktion hinzugefügt.
$arg_list = func_get_args();
Sg_Log_Manager::info(print_r($arg_list , true));
Kann mir jemand helfen?
Sie müssen zeigen, wie Sie die Funktionen aufrufen ... –