Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: ccrunch en 7 Abril 2013, 22:10 pm



Título: Ayuda con una variable referenciada.
Publicado por: ccrunch en 7 Abril 2013, 22:10 pm
Estoy mirando el manual oficial php y en el ejemplo de las variables dice:

Por ejemplo, el siguiente segmento de código produce la salida 'Mi nombre es Bob' dos veces:

Código:
<?php
$foo = 'Bob';                // Asigna el valor 'Bob' a $foo
$bar = &$foo;                // Referenciar $foo vía $bar.
$bar = "Mi nombre es $bar";  // Modifica $bar...
echo $bar;
echo $foo;                   // $foo también se modifica.
?>


Y yo pienso: echo $bar da "Mi nombre es Bob", porque el $bar entrecomillado de la variable $bar hace referencia a $bar de la segunda línea, y su valor es Bob (porque $bar hace referencia a $foo y $foo vale "bob"). Vale, hasta ahí bien.

Pero cuando lo ejecuta da 2 veces "mi nombre es bob". por qué? con la 1ª variable lo entiendo, con la 2ª no. $foo vale "bob", nada más.

Alguien me lo puede explicar?


Título: Re: Ayuda con una variable referenciada.
Publicado por: l337* en 11 Abril 2013, 00:13 am
mmm no, en la 2 $foo vale todo el string, no solo bob

Código:
<?php
$foo = 'Bob';                // Asigna el valor 'Bob' a $foo
$bar = &$foo;                // $bar es = por referencia a $foo, por lo tanto, lo de $bar = $foo  y $foo = $bar
$bar = "Mi nombre es $bar";  // Mi nombre es Bob
echo $bar; //Mi nombre es Bob
echo $foo;  //Mi nombre es Bob
$foo = 'meh ';
echo $foo.$bar    //meh meh
?>