Jak sztuczka XOR do zamiany dwóch zmiennych naprawdę działa na łańcuchu?

Po prostu natknąłem się na ten fragment kodu, aby zamienić wartości dwóch zmiennych w PHP:

<?php
$a = ‘bar’;
$b = ‘foo’;

$a = $a ^ $b;
$b = $a ^ $b;
$a = $a ^ $b;

echo $a . $b;

Rozumiem pojęcie w formie binarnej; czy to zawsze działa na łańcuchach? W jaki sposób?

questionAnswers(1)

yourAnswerToTheQuestion