Zwei PHP-Variablen mit XOR austauschen

Vor langer Zeit habe ich mal gelesen, dass man zwei Variablen auch mit drei XOR-Befehlen vertauschen kann. Dies ermöglicht das Tauschen, ohne eine Hilfsvariable zu verwenden.

Als ich das einem Kollegen erzählte, haben wir uns hingesetzt, und das ausprobiert. Der Code liegt nun schon seit einiger Zeit nutzlos rum. Daher hier also ein kurzer PHP-Schnipsel, der zwei Variablen-Inhalte mit XOR austauscht, ohne eine dritte Hilfsvariable zu verwenden.

<?php

$a = 'j';
$b = 'b';

echo $a . '/' . $b . '<br />';
$a ^= $b;
echo $a . '/' . $b . '<br />';
$b ^= $a;
echo $a . '/' . $b . '<br />';
$a ^= $b;
echo $a . '/' . $b . '<br />';

?>

Trackbacks

    Keine Trackbacks

Kommentare

Ansicht der Kommentare: (Linear | Verschachtelt)

  1. Speadge schreibt:

    *geniale Idee... hab das mal eben bei wiki nachgeschlagen..

    eigentlich logisch... muss man nur drauf kommen, dass php ja intern auch nur mit 1/0 rechnet, worauf das ja basiert...

    GENIAL!


Kommentar schreiben


Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss um dieses Verfahren anzuwenden.
CAPTCHA