A maioria das pessoas nunca se deparar com o problema de ter que trocar o valor de 2 variáveis, mas em algum momento você pode encontrar a necessidade de fazê-lo com rapidez e eficiência.
Onde alguns faria aceitar usando uma terceira variável para fazer a troca de valores, outros estão pensando se é possível fazer isso usando um método mais eficiente.
A seguir é um exemplo demonstra como para trocar o valor de 2 variáveis usando um variável temporária 3:
old_value = 1new_value = 2temp_value = 3
temp_value = old_valueold_value = new_valuenew_value = temp_value
No PHP esta seria algo como:
$ old_value = 1 ; $ new_value = 2; $ temp_value = NULL; temp_value $ = $ old_value; old_value $ = $ new_value; new_value $ = $ temp_value; unset ($ temp_value); echo $ old_value; //Saídas 2echo $ new_value; //Saídas 1
Isto é algum código apenas para trocar o valor de 2 variáveis.
Sem entrar em detalhes sobre como ele funciona, o operador OU exclusivo (XOR) pode ser usado para simplificar esta tarefa
O exemplo acima em PHP pode simplesmente ser substituído usando o seguinte:.
$ Old_value ^ = $ new_value ^ = ^ = $ old_value $ new_value;
Se você olhar de perto, você ainda vai notar que uma terceira variável não tenha sido utilizado
Para tornar a tarefa de trocar valores de variáveis ainda mais simples, você.
Também é possível criar sua própria função para fazê-lo:
função swap (& $ x, y & $) {$ x ^ = $ y ^ = $ x ^ = $ y;}
Lá você tem, trocando 2 valores de variáveis em uma simples linha de programação.