Ver Mensaje Individual
  #397 (permalink)  
Antiguo 23/05/2011, 21:09
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"

Ok, Bueno en lo que alguien formula una, si tengo esto
Código PHP:
Ver original
  1. <?php
  2. $fn = function () use ($country) { echo $country . "<br />"; };
  3. $country = 'Puerto Rico';
  4. $fn();
  5.  
  6. $country = 'Europa';
  7. $fn = function () use ($country) { echo $country . "<br />"; };
  8. $country = 'Puerto Rico';
  9. $fn();
  10.  
  11. $country = (object)array('name' => 'Europa');
  12. $fn = function () use ($country) { echo $country->name . "<br />"; };
  13. $country = (object)array('name' => 'Puerto Rico');
  14. $fn();
  15.  
  16. $country = (object)array('name' => 'Europa');
  17. $fn = function () use ($country) { echo $country->name . "<br />"; };
  18. $country->name = 'Puerto Rico';
  19. $fn();

Debe imprimir
Cita:
Puerto Rico
Puerto Rico
Puerto Rico
Puerto Rico
Sin embargo imprime
Código PHP:
Ver original
  1. Notice: Undefined variable: country in ... on line 2
  2. Europa
  3. Europa
  4. Puerto Rico
¿Por qué y como se resolvería? ¿Por qué el último imprime correctamente el resultado?

PD: traten de dar la explicación no solo la resolución.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos