Heim > Artikel > Backend-Entwicklung > Foreach-Referenz übergibt Adresse in PHP
Dieser Artikel teilt Ihnen hauptsächlich die foreach-Referenzübertragungsadresse in PHP mit. Um dieses Problem zu verstehen, sind drei Kenntnisse erforderlich.
1 Normale Zuweisung und Referenzzuweisung in PHP
Der Variablenname wird im Speicherstapel gespeichert, der auf die Adresse des spezifischen Speichers im Heap verweist. Finden Sie den Speicher im Heap der Variablenname;
Normale Wertübergabe, nachdem der Wert übergeben wurde, ist es ein anderer Adressname, der auf eine andere Speicherentität zeigt
Referenzübergabe als Wert, nachdem die Referenz übergeben wurde , es ist ein anderer Adressname, aber sie verweisen alle auf dieselbe Speicherentität. ;Ändern Sie einen von ihnen, und der andere wird ebenfalls geändert;
Das ist wahrscheinlich die Beziehung. Weitere Informationen finden Sie unter https://www.cnblogs.com/mushan/p /4330386.html
2 Geltungsbereich von Variablen
Variablen, die außerhalb aller Funktionen definiert sind, haben den globalen Gültigkeitsbereich. Variablen, die innerhalb einer Funktion definiert sind, werden im lokalen Gültigkeitsbereich verwendet. Auf globale Variablen kann von überall im Skript aus zugegriffen werden. Um jedoch innerhalb einer Funktion auf globale Variablen zuzugreifen, verwenden Sie das Schlüsselwort global. Auf lokale Variablen kann nur innerhalb der Funktion zugegriffen werden.
3 foreach $arr = array(1,2,3); foreach($arr as &$v){} $v 变量未销毁 $arr[2] 与 $v保持索引关系(数组组后一个元素) foreach ($arr as $v){} $v 每次获得新值 $arr=array(1,2,&$v); $v=1 数组为 array(1,2,1); $arr=array(1,2,&$v); $v=2 数组为 array(1,2,2); 第三次遍历数组为 array(1,2,2); 所以结果为 array(1,2,2);
Das obige ist der detaillierte Inhalt vonForeach-Referenz übergibt Adresse in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!