Der Unterschied zwischen PHP5 und PHP7 darin, Array-Elemente als dynamische Funktionsnamen zu verwenden
In PHP5 und PHP7 funktioniert beim Abrufen von Funktions-/Methodennamen über Variablen und beim Ausführen von Funktionen/Methoden aufgrund unterschiedlicher Interpretationsstrategien möglicherweise nicht derselbe Code Versionen.
Beispiel
$a = ['add', 'sub']; class Test { public function add() { echo 1 + 2; } } $t = new Test(); $t->$a[0]();
Das obige Beispiel kann normal unter PHP5.6 ausgeführt werden, aber unter PHP7 wird ein schwerwiegender Fehler ausgegeben: Der Funktionsname muss eine Zeichenfolge sein. Dies liegt daran, dass bei der Ausführung von t->t−>a0 unter PHP5 zuerst $a[0] ausgeführt wird, der Elementwert abgerufen wird und dann die spezifische Methode des Objekts ausgeführt wird.
Unter PHP7 wird t->t−>a zuerst ausgeführt, wodurch ein Fehler ausgegeben und die Ausführung unterbrochen wird. Wenn Sie es normal unter PHP7 ausführen müssen, müssen Sie es in t->{a[0]}() ändern.
Spezifische Unterschiede finden Sie unter:
Empfohlenes Lernen: „PHP7-Tutorial“
Das obige ist der detaillierte Inhalt vonUnterschiede zwischen PHP5 und PHP7 hinsichtlich Get-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!