Ver Mensaje Individual
  #13 (permalink)  
Antiguo 20/06/2009, 12:18
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Variables $_GLOBAL en una funcion

mmm...

Cita:
Iniciado por gjx2 Ver Mensaje
[...]

Ese mismo codigo funciona

Código PHP:
$foo 'bar';
$candy 'does';

function 
baz()
{
  
$GLOBALS["foo"];
  
$foo 'BAR';
  
$GLOBALS['candy'] = 'DOES';
}

echo 
"<pre>" $foo '/' $candy "</pre>";

baz();
echo 
"<pre>" $foo '/' $candy "</pre>"
y seguro probaste tu código antes de escribir esto???

porque yo lo acabo de hacer, y no funciona....

en efecto, el resultado correcto (mi ejemplo) es este:
Código:
bar/does
BAR/DOES
ese es el resultado que se espera...

mientras tu código imprime lo siguiente:
Código:
bar/does
bar/DOES


Cita:
Iniciado por gjx2 Ver Mensaje
[...]
Que piensas ?
(ni hablar)


--
Edito:

Código PHP:
// aqui tienes toda la razon, porque mas adelante en la funcion baz()
// utilzamos la matriz directamente... sin duda!
// ya que facilmente se puede hacer: $foo = 'bar';
// (pero lo hice para ilustrar...)
$GLOBALS['foo'] = 'bar'## No tengo que declarar a foo GLOBALS fuera de la funcion.

// * me refiero al caso del indice "candy" (que es lo que tu recalcabas bien)
$candy 'does';

function 
baz()
{
// en lo siguiente, gracias al contexto de las variables externas a la funcion
// debemos "recuperar" la variable del contexto global (tu ¿pensaste?)
// o usar la matriz $GLOBALS (igual a $candy) directamente y omitir el operador "global"
  
global $foo;         ## Por que declarar a fuera y luego adentro :pensando: 
  
$foo 'BAR';
  
$GLOBALS['candy'] = 'DOES'// * aqui lo que explicaste con $candy

tal ves te convenga leer sobre el contexto de las variables...

http://www.php.net/manual/en/languag...bles.scope.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 20/06/2009 a las 12:24