Werte zweier Variablen tauschen

In manchen Programmier-Vorhaben ist es vonnöten die Werte von zwei Variablen auszutauschen. Eine alte, allgemeine Methode ist das Benutzen einer temporären dritten Variable:

<?php
# Die beiden Variablen:
$a = 'Wert A';
$b = 'Wert B';
# Die Werte tauschen
$c = $a;
$a = $b;
$b = $c;
# $b ist nun $a und umgekehrt
?>

Doch gibt es in PHP eine einfachere Ein-Zeilen-Methode, und zwar lässt sich hier das array() und das list()-Konstrukt "zweckentfremden". Mittels array() erzeugt man ein Array mit den beiden Variablen als Inhalt und mit list() weist man den Variablen die Werte aus dem Array wieder zu:

<?php
# Die beiden Variablen:
$a = 'Wert A';
$b = 'Wert B';
# Die Werte tauschen
list($b, $a) = array($a, $b);
# $b ist nun $a und umgekehrt
?>

Mit dieser Methode lassen sich auch mehr als zwei Variablen vertauschen. Hier werden die Werte den Variablen in umgekehrt-alphabetischer Reihenfolge wieder zugewiesen. Das heisst, $a tauscht mit $d und $b mit $c:

<?php
# Die Variablen:
$a = 'Wert A';
$b = 'Wert B';
$c = 'Wert C';
$d = 'Wert D';
# Die Werte tauschen
list($d, $c, $b, $a) = array($a, $b, $c, $d);
?>

Links