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);
?>