Nur PHP begann das Lernen, und während sie mit variablen Bereiche experimentieren, habe ich diesen Code:PHP Variable Scope Verständnis
<?php
$x = 5;
function scopeTest($x) {
global $x;
echo $x;
}
scopeTest(4);
?>
In der gegebenen Funktion übergeben ich Wert 4
, in der Funktion, die den Wert in gespeichert Variable $x
(lokal für die Funktion). Die Ausgabe dieses Codes ist 5
und nicht 4
.
Ich weiß nicht, wo die Variable mit Wert 4
gegangen ist? Ich weiß, dass ich dies tun kann, indem ich den lokalen Variablennamen in der Funktion ändere, aber ich möchte den Ablauf dieses Programms wissen, wie es 5
ausgibt.
Wird die lokale Variable $x
mit der globalen Variablen $x
überschrieben?
Gibt es eine Möglichkeit, innerhalb der Funktion auf die lokale Variable $x
Wert 4
zuzugreifen?
Einer der Gründe, warum mit 'global' ist keine gute Idee .... das ist nicht intuitiv Verhalten –
Eine Möglichkeit, der Lage sein, sowohl für den Zugriff ist das 'X' $ Argument zuzuweisen eine andere Variable als der globale 'function scopeTest ($ y) { global $ x; echo $ x; echo $ y; } ' –
@MarkBaker danke, ich habe dieses Ding bereits in meiner Frage geschrieben. Ich weiß, dass ich das tun kann, wollte aber nur wissen, was wirklich hinter den Kulissen passiert. –