Bei der Übergabe von Parametern an eine Funktion kann es vorkommen, dass Sie
einen der übergegebenen Parameter verändern müssen.
PHP bietet hier zwei Möglichkeiten an:
Das folgende Beispiel zeigt die Funktionen referenz_tauschen() beziehungsweise value_tauschen() für die beide Methoden:
<?php
function value_tauschen($a, $b) {
$temp = $a;
$a = $b;
$b = $temp;
}
function referenz_tauschen(&$a, &$b) {
$temp = $a;
$a = $b;
$b = $temp;
}
$x = 12; $y = 18;
echo "<p>Methode 1, vorher: $x, $y<br />";
value_tauschen($x,$y);
echo "Methode 1, nachher: $x, $y</p>";
$x = 12; $y = 18;
echo "<p>Methode 2, vorher: $x, $y<br />";
referenz_tauschen($x,$y);
echo "Methode 2, nachher: $x, $y</p>";
?>
Methode 1, vorher: 12, 18
Methode 1, nachher: 12, 18
Methode 2, vorher: 12, 18
Methode 2, nachher: 18, 12