La mayoría de la gente nunca se encuentran con el problema de tener que cambiar el valor de 2 variables, pero en algún momento es posible que encuentre la necesidad de hacerlo de forma rápida y eficiente
.
Donde algunos haría aceptan el uso de una tercera variable para realizar el intercambio de valores, otros están pensando si es posible hacer esto usando un método más eficiente.
El siguiente es un ejemplo demuestra cómo intercambiar el valor de 2 variables utilizando un variable temporal tercero:
OLD_VALUE = 1new_value = 2temp_value = 3
temp_value = old_valueold_value = new_valuenew_value = temp_value
En PHP este sería el resultado:
$ OLD_VALUE = 1 ; $ nuevo_valor = 2; $ temp_value = NULL; $ temp_value = $ OLD_VALUE; $ OLD_VALUE = $ nuevo_valor; $ nuevo_valor = $ temp_value; unset ($ temp_value); echo $ OLD_VALUE; //Salidas 2echo $ nuevo_valor; //Salidas 1
Eso es algo de código sólo para cambiar el valor de 2 variables.
Sin entrar en detalles sobre cómo funciona, el operador O exclusivo (XOR) se puede utilizar para simplificar esta tarea
El ejemplo anterior en PHP puede simplemente ser reemplazados utilizando la siguiente:.
$ OLD_VALUE ^ = $ nuevo_valor ^ = $ OLD_VALUE ^ = $ nuevo_valor;
Si se mira de cerca, usted siquiera se dará cuenta de que una tercera variable no se ha utilizado
Para realizar la tarea de intercambio de valores de las variables aún más simples, usted.
También puede crear su propia función para hacerlo:
canje de función (& $ x, & $ y) {$ x ^ = $ y ^ = $ x ^ = $ y;}
Ahí lo tienen, el intercambio 2 valores de variables en 1 simple línea de programación.