Ver Mensaje Individual
  #107 (permalink)  
Antiguo 26/12/2010, 15:11
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Juego: "¿Dónde está el error?"

* En realidad se me colaron un par más

Aquí va mi tiro.

Código PHP:
<?php

function definido() {
    global 
$foo$GLOBALS;
    return isset(
$GLOBALS['GLOBALS']['foo']['tercera']) ?
        
"\$foo['tercera'] está definido: {$GLOBALS['GLOBALS']['foo']['tercera']}" :
        
"\$foo['tercera'] NO está definido";
}

$GLOBALS['GLOBALS']['foo'] = array('primera'=>'A''segunda'=>'B''tercera'=>'C''cuarta'=>'D');
var_dumpdefinido() );

$foo 'CUALQUIER TEXTO...'// Redefiniendo el valor de $foo
var_dumpdefinido() );

?>
Al ejecutar el script, el resultado es este:

Código:
string(32) "$foo['tercera'] está definido: C"
string(32) "$foo['tercera'] está definido: C"
La primera llamada a definido(), como es de esperarse, devuelve el equivalente a true (Imprime el valor de la variable). Luego, la segunda llamada inesperadamente devuelve exactamente lo mismo. ¿Por qué?

Última edición por okram; 26/12/2010 a las 15:21 Razón: Cambio de [HIGHLIGHT] por [PHP]