Кто посетил урок и получил файл ДЗ, там в 7-м задании говорилось про оператор XOR,
а в 8-м предлагалась задачка:
$x = 10;
$y = 15;
Необходимо дописать несколько операций так, чтобы в итоге значения переменныхпоменялись местами. При этом, использовать другие переменные запрещается.
===
Решить задачу можно 2-мя кратчайшими путями.
Первый очевидный путь - трюк с массивом, решается одной строкой:
list($y, $x) = array($x, $y);
Второй путь как раз использует выражение XOR из 7-го задания, точнее его краткий вариант написания:
$y ^= ($x ^= $y);
$x ^= $y;
Вот этот второй путь как раз мне категорически не нравится, ибо абсолютно неочевиден и выносит мозг тех, кто будет смотреть код. Без комментария хрен поймешь, что же делают эти 2 строчки.
Посему, подобные выражения применять нежелательно, тем более, что они не дают никакого выйгрыша в скорости.