Verweise in PHP
In PHP kann man den Wert einer Variable einer anderen zuweisen:
<?php
$num1 = 1;
$num2 = $num1; // zuweisen
echo $num1; // 1
echo $num2; // 1
?>
Bei einer solchen Zuweisung wird in die neue Variable eine Kopie des Wertes der ersten Variable geschrieben. Das bedeutet, dass die Variablen in keiner Weise miteinander verbunden sind und sie unabhängig voneinander geändert werden können. Sehen Sie sich das Codebeispiel an:
<?php
$num1 = 1;
$num2 = $num1;
$num2 = 2;
echo $num1; // 1 - hat sich nicht geändert
?>
Man kann jedoch erreichen, dass nicht der Wert der Variable kopiert wird, sondern ein Verweis darauf. In diesem Fall wird sich bei Änderung des Wertes einer Variable auch der Wert der anderen ändern.
Um einen Wert als Verweis zu übergeben, muss man vor dem Variablennamen ein kaufmännisches Und (&) setzen:
<?php
$num1 = 1;
$num2 = &$num1; // als Verweis übergeben
?>
Nun führt die Änderung der ersten Variable auch zur Änderung der zweiten:
<?php
$num1 = 1;
$num2 = &$num1;
$num2 = 2;
echo $num1; // 2 - hat sich geändert
?>
Ebenso, wenn wir die erste Variable ändern, ändert sich auch die zweite:
<?php
$num1 = 1;
$num2 = &$num1;
$num1 = 2;
echo $num2; // 2
?>
Erklären Sie, wie das Ergebnis der Codeausführung sein wird:
<?php
$num1 = 1;
$num2 = $num1;
$num2 = 2;
echo $num1;
echo $num2;
?>
Erklären Sie, wie das Ergebnis der Codeausführung sein wird:
<?php
$num1 = 1;
$num2 = &$num1;
$num2++;
echo $num1;
echo $num2;
?>
Erklären Sie, wie das Ergebnis der Codeausführung sein wird:
<?php
$num1 = 1;
$num2 = $num1;
$num1++;
$num2++;
echo $num1;
echo $num2;
?>
Erklären Sie, wie das Ergebnis der Codeausführung sein wird:
<?php
$num1 = 1;
$num2 = &$num1;
$num1++;
$num2++;
echo $num1;
echo $num2;
?>