Global y Función Ámbito de variables en PHP Descripción del ámbito de variables en PHP - Parte 1 Introducción Esta es la parte 1 de mi serie, Descripción del ámbito de variables en PHP. En esta parte de la serie, nos fijamos en global y funcionamos alcance variable en PHP. Todo en esta serie se refiere a PHP 5. Nota: Si no puede ver el código o si cree que falta algo (enlace roto, la imagen ausente), simplemente en contacto conmigo en [email protected]. Es decir, en contacto conmigo para el más mínimo problema que tenga acerca de lo que está leyendo.
Es necesario un conocimiento básico en PHP con el fin de entender esta serie. Si usted no tiene ese conocimiento prerrequisito, a continuación, lea la serie que escribí en este blog cuya primera parte se titula, Primeros pasos con PHP. Para llegar a la serie, sólo tienes que escribir el título y mi nombre Chrys en el cuadro de búsqueda de esta página y haga clic en Buscar. ¿Qué es una variable Alcance La especificación PHP, afirma lo siguiente: "El ámbito de una variable es el contexto en el que se define." Usted no puede entender lo que significa que si usted es nuevo en la computación.
Así que voy a hacer un poco de ilustración. Considere el siguiente programa: fn function () {$ b = 2; echo $ b; } Fn (); ?> La variable $ b se declara y se utiliza sólo en el bloque de función. Esta variable no puede ser visto fuera de la función (bloque). Se dice que esta variable tenga Ámbito Función local o, simplemente, Ámbito Local. Consideremos ahora el siguiente programa: $ b = 2; fn function () {//algunas declaraciones. . . } Echo $ b; ?> La variable $ b se declara y se utiliza fuera de la función. Esta variable no se puede ver dentro de la función. Se dice que tiene alcance mundial.
Al ver Variable Global en Ámbito Local Normalmente, usted no puede ver una variable global en su alcance local y también no se puede ver una variable local en el ámbito global. Sin embargo, es posible hacer que una variable global aparezca en ámbito local y no al revés. Hay dos maneras de hacer que una variable global aparezca en ámbito local de la función de la siguiente manera: El uso de la palabra clave mundial Suponga que una variable global ha sido declarado fuera de la función.
Para que esa variable global para ser visto dentro de la función, hay que volver a declarar dentro de la función precedida por la palabra clave, global. El siguiente programa ilustra esto: $ b = 2; fn function () {$ b mundial; echo $ b; } Fn (); ?> Con variable global re-declarada dentro de la función precedido de la palabra, el mundial, la variable global se puede ver dentro de la función. El uso de la matriz predefinida $ GLOBALS existe una matriz predefinida llamada $ GLOBALS. Este es un array asociativo de pares clave /valor.
Todas las variables globales y sus valores en su programa se almacenan en esta matriz como pares clave /valor. Para cada variable global, el nombre de la variable constituye la clave y el valor de las formas variables el valor de la matriz correspondiente. El secreto es que esta matriz se puede ver dentro de una función, así como fuera. Así que si quieres una variable global dentro de una función, simplemente acceder al elemento correspondiente para la variable global en la matriz.
El siguiente programa ilustra esto: $ b = 2; fn function () {echo $ GLOBALS ['b']; } Fn (); ?> Tenga en cuenta que como clave para la variable global de la matriz, usted no tiene el signo $, que precede al nombre de la variable. El nombre de la variable es entre comillas como clave en los corchetes, como con 'b' arriba. Pasar una variable global a una función Considere el siguiente código que funciona: $ c = 2; fn función ($ x) {echo $ x; } Fn ($ c); ?> En el código anterior, $ c es una variable global y no se puede ver dentro de la función. La función tiene el parámetro, $ x.
En la llamada a la función, la variable global se pasa como argumento. La función trabaja. Esto no significa que la variable global ha sido visto por la función. La variable global no ha sido visto por la función por la palabra clave, global o la matriz $ GLOBALS no se ha utilizado. Aquí está la explicación de lo que ha sucedido: Después de la función acaba de ser llamado, inmediatamente se inicia la ejecución de la función, el valor del parámetro, $ x se convierte en el valor de la variable global, $ c. El bloque de definición de la función utiliza $ x, y no $ c.
Así que el valor de la variable global se ha pasado a la función sin la función de ver la variable global (nombre). Es el valor de la variable global que se envía como argumento y no la variable (nombre). Superglobals en PHP Hay algunas matrices predefinidas que se pueden ver en los dos ámbitos globales y función. Para utilizar cualquiera de estas matrices en una función, no es necesario que preceder con la palabra clave, global. Usted acaba de seguir adelante y utilizarlo escribiendo su nombre que incluye una llave para entrar un valor.
Un ejemplo de tal matriz es de $ GLOBALS que acabamos de ver. Estas matrices se llaman Superglobals. En PHP, superglobals son: $ GLOBALS $ _SERVER $ _GET $ _POST $ _FILES $ _COOKIE $ _SESSION $ _REQUEST $ _ENV Acabo hablado de $ GLOBAL, que es el primero en la lista. Para saber acerca de los demás, usted debe consultar a algunos otros documentos. Bloques de función no ¿Hay bloques condicionales, como el bloque si como ámbitos locales? No, no hay. Ámbito local es normalmente preocupados con las funciones.
Considere el siguiente código: $ c = 2; if ($ c == 2) {$ c = 3; echo $ c; }?>