Heim >Backend-Entwicklung >PHP-Problem >Verständnis von PHP7 (mit ausführlichem Tutorial)
Der letzte Artikel führte Sie in „Weiterlernen – AJAX PHP (mit Quellcode) “ ein Interesse, lasst uns jetzt einen Blick darauf werfen! ! !
Die PHP7-Version hat Anpassungen am Variablen-Parsing-Mechanismus vorgenommen:
1. Indirekte Variablen, Attribute und Methodenreferenzen werden in der Reihenfolge von links nach rechts interpretiert:
rrreeWenn Sie Wenn Sie die Interpretation ändern möchten, können Sie geschweifte Klammern verwenden:
$$foo['bar']['baz'] // interpreted as ($$foo)['bar']['baz'] $foo->$bar['baz'] // interpreted as ($foo->$bar)['baz'] $foo->$bar['baz']() // interpreted as ($foo->$bar)['baz']() Foo::$bar['baz']() // interpreted as (Foo::$bar)['baz']()
2. Das globale Schlüsselwort kann sich jetzt nur noch auf einfache Variablen beziehen
${$foo['bar']['baz']} $foo->{$bar['baz']} $foo->{$bar['baz']}() Foo::{$bar['baz']}()
3. Es ist sinnlos, Variablen oder Funktionen in Klammern zu setzen
global $$foo->bar; // 这种写法不支持。 global ${$foo->bar}; // 需用大括号来达到效果。
Beachten Sie, dass die Der zweite Satz wird mit einem Kreis aufgerufen. Die Klammern werden umbrochen, aber dieser schwerwiegende Fehler wird weiterhin gemeldet. Frühere Versionen von PHP haben diesen Fehler nicht gemeldet.
4. Die Reihenfolge der bei der Referenzzuweisung automatisch erstellten Array-Elemente oder Objektattribute ist anders als zuvor.
function getArray() { return [1, 2, 3]; } $last = array_pop(getArray()); // Strict Standards: Only variables should be passed by reference $last = array_pop((getArray())); // Strict Standards: Only variables should be passed by reference
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonVerständnis von PHP7 (mit ausführlichem Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!