Variables asignadas por referncia
Publicado por enrique (1 intervención) el 28/04/2010 01:15:43
Que tal, soy principiante en programacion en PHP y navegando por la red me encontr con este ejemplo de variables asignadas por referencia:
<?php
$foo = 'Bob'; // Asigna el valor 'Bob' a $foo
$bar = &$foo; // Referencia $foo vía $bar.
$bar = "Mi nombre es $bar"; // Modifica $bar...
echo $foo; // $foo también se modifica.
echo $bar;
?>
y la verdad no entendi por que a la hora de ejecutar el script se repite el mensaje "MinombreesBobMinombreesBob". En las dos primeras 2 lineas no tengo problema, primero se declara el valor de la variable $foo='Bob' y posteriormente se declara que la variable $bar haga referencia al valor de la variable $foo. Pero en la linea donde se cambia el valor de la variable $bar (el valor al que hacia referencia) por la cadena "Mi nombre es $bar" porque php sigue tomando dentro de esta cadena que $bar tiene como valor la referencia al valor de la variable $foo??? y porque a la hora que se pide que se muestre el valor de la variable $foo, este tiene como valor "Mi nombre es Bob", el valor de $foo debe ser "Bob"???
Sin mas por el momento me despido esperando que me puedan explicar el porque
Saludos
<?php
$foo = 'Bob'; // Asigna el valor 'Bob' a $foo
$bar = &$foo; // Referencia $foo vía $bar.
$bar = "Mi nombre es $bar"; // Modifica $bar...
echo $foo; // $foo también se modifica.
echo $bar;
?>
y la verdad no entendi por que a la hora de ejecutar el script se repite el mensaje "MinombreesBobMinombreesBob". En las dos primeras 2 lineas no tengo problema, primero se declara el valor de la variable $foo='Bob' y posteriormente se declara que la variable $bar haga referencia al valor de la variable $foo. Pero en la linea donde se cambia el valor de la variable $bar (el valor al que hacia referencia) por la cadena "Mi nombre es $bar" porque php sigue tomando dentro de esta cadena que $bar tiene como valor la referencia al valor de la variable $foo??? y porque a la hora que se pide que se muestre el valor de la variable $foo, este tiene como valor "Mi nombre es Bob", el valor de $foo debe ser "Bob"???
Sin mas por el momento me despido esperando que me puedan explicar el porque
Saludos
Valora esta pregunta


0