pateketrueke
Gracias , se que literalmente son iguales hacen los mismo pero tiene diferente tipo de uso.
En el ejemplo que me pones haces mal uso de la funcion $GLOBALS
Código:
$GLOBALS['foo'] = 'bar'; ## No tengo que declarar a foo GLOBALS fuera de la funcion.
$candy = 'does';
function baz()
{
global $foo; ## Por que declarar a fuera y luego adentro :pensando:
$foo = 'BAR';
$GLOBALS['candy'] = 'DOES';
}
echo "<pre>" . $foo . '/' . $candy . "</pre>";
baz();
echo "<pre>" . $foo . '/' . $candy . "</pre>";
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>";
Lo que aclare fue que $GLOBALS la unica diferencia con global es que La primera permite matricez asociativas ejem.
Ejemplo con global
Código PHP:
$n["agenda"]["Amigos"]["Primaria"][1] = "Miguel";
function baz()
{
global $n;
echo $n["agenda"]["Amigos"]["Primaria"][1];
}
baz();
Con el ejemplo anterior puedo hacer uso de mi matrix libremente en mi funcion como si estuviera declarada dentro.
Sin embargo si quisiera hacer lo anterior con $GLOBALS tuviera que declarar
la matriz antes de la funcion , con el ambito de global lo cual no es lo k deseo.
$GLOBALS["agenda"]["Amigos"]["Primaria"] = "Miguel"; Que piensas ?