Я хочу поделиться одним вопросом, который задают большую часть времени в интервью, и я не мог ответить на этот вопрос, но, наконец, я нашел ответ:
Как заменить значение переменной 2 без использования третьей переменной?
Этот метод будет работать для любого типа переменной:
$a = 5; $b = 6; list($a, $b) = array($b, $a); print $a . ',' . $b;
Вывод:
6,5
Другой простой способ (который работает только для чисел, а не строк / массивов / и т. Д.)
$a = $a + $b; // 5 + 6 = 11 $b = $a - $b; // 11 - 6 = 5 $a = $a - $b; // 11 - 5 = 6 print $a . ',' . $b;
Вывод:
6,5
Неужели вам нужен алгоритм обмена XOR ? По крайней мере, для числовых переменных.
Обычная свопинг требует использования переменной временного хранения. Однако, используя алгоритм подкачки XOR, временного хранения не требуется. Алгоритм выглядит следующим образом:
X: = X XOR Y
Y: = X XOR Y
X: = X XOR Y
Хотя я никогда не видел, чтобы он использовался в реальных сценариях (помимо работы ассемблера)