SlideShare ist ein Scribd-Unternehmen logo
1 von 2
Downloaden Sie, um offline zu lesen
Otras variables


Valores de las variables
                                      Variables estáticas

Cuando hablábamos de las               <?
variables, nos referíamos a su
ámbito y comentábamos que las          # Observa que hemos prescindido de los encabezados HTML.
variables definidas dentro de una      # No son imprescindibles para la ejecución de los scripts
función pierden sus valores en el
momento en el que abandonemos          /* Escribamos una función y llamémosla sinEstaticas
el ámbito de esa función, es decir,        Definamos en ella dos variables sin ninguna otra especificación
cuando finaliza su ejecución.                  e insertemos las instrucciones para que al ejecutarse
                                               se escriban los valores de esas variables */
Decíamos también que si el
ámbito en el que hubiera sido
definida fuera externo a una           function sinEstaticas(){
función los valores sólo se
perderían –temporalmente–              # Pongamos aquí sus valores iniciales
mientras durara la eventual                    $a=0;
ejecución de las instrucciones de               $b=0;
aquella y que, una vez acabado
ese proceso, volvían a recuperar       # Imprimamos estos valores iniciales
sus valores.

Bajo estas condiciones, si
                                               echo "Valor inicial de $a: ",$a,"<br>";
invocáramos repetidamente la                   echo "Valor inicial de $b: ",$b,"<br>";
misma función obtendríamos cada
vez el mismo resultado.                /* Modifiquemos esos valores sumando 5 al valor de $a
                                          y restando 7 al valor de $b.
Las posibles modificaciones que           $a +=5 y $b -=7 serán quienes haga esas
pudieran haberse efectuado (a             nuevas asignaciones de valor
través de las instrucciones               ya lo iremos viendo, no te preocupes    */
contenidas en la función) en el
valor inicial de las variables, se
perderían cada vez que
                                               $a +=5;
abandonáramos la función con lo                $b -=7;
cual, si hiciéramos llamadas
sucesivas, se repetirían tanto el      # Visualicemos los nuevos valores de las variables
valor inicial como el resultado.               echo "Nuevo valor de $a: ",$a,"<br>";
                                               echo "Nuevo valor de $b: ",$b,"<br>";
Variables estáticas
                                       }

Para poder conservar el último         # Escribamos ahora la misma función con una modificación que será
valor de una variable definida         # asignar la condición de estática a la variable $b
dentro de una función basta con
                                       # Llamemos a esa función: conEstaticas
definirla como estática.

La instrucción que permite             function conEstaticas(){
establecer una variable como
estática es la siguiente:              # Definimos $b como estática
                                               $a=0;
static nombre = valor;                           static $b=0;
P. ej: si la variable fuera $a y el
valor inicial asignado fuera 3                 echo "Valor inicial de $a: ",$a,"<br>";
escribiríamos:                                 echo "Valor inicial de $b: ",$b,"<br>";

static $a=3;                                   $a +=5;
                                               $b -=7;
La variable conservará el último de
los valores que pudo habérsele
asignado durante la ejecución de               echo "Nuevo valor de $a: ",$a,"<br>";
la función que la contiene. No                 echo "Nuevo valor de $b: ",$b,"<br>";
retomará el valor inicial hasta
que se actualice la página.            }

                                       # Insertemos un texto que nos ayude en el momento de la ejecución
Variables de variables
                                       print ("Esta es la primera llamada   a sinEstaticas()<br>");
Además del método habitual de
asignación de nombres a las            # Invoquemos la función sinEstaticas;
variables -poner el signo $ delante
de una palabra-, existe la
                                       sinEstaticas();
posibilidad de que tomen como
nombre el valor de otra variable        # Añadamos un nuevo comentario a la salida
previamente definida.                  print ("Esta es la segunda llamada sinEstaticas()<br>");
                                       print ("Debe dar el mismo resultado que la llamada anterior<br>");
La forma de hacerlo sería esta:        # Invoquemos por segunda vez sinEstaticas;
                                       sinEstaticas();
$$nombre_variable_previa;

Veamos un ejemplo.                     # Hagamos ahora lo mismo con la función conEstaticas

Supongamos que tenemos una             print ("Esta es la primera llamada a conEstaticas()<br>");
variable como esta:
                                       conEstaticas();
$color="verde";

Si ahora queremos definir una          print ("Esta es la segunda llamada a conEstaticas()<br>");
nueva variable que utilice como        print ("El resultado es distinto a la llamada anterior<br>");
nombre el valor (verde) que está
contenido en la variable previa        conEstaticas();
($color), habríamos de poner algo
como esto:                             ?>
$$color="es horrible";
¿Cómo podríamos visualizar el
                                                                           ejemplo11.php
valor de esta nueva variable?

Habría tres formas de escribir la       Variables de variables
instrucción:

print $$color;                           <?
o                                        # Definamos una variable y asignémosle un valor
print ${$color};                                    $color="rojo";
o también                                # Definamos ahora una nueva variable de nombre variable
print $verde;                            # usando para ello la variable anterior
                                                    $$color=" es mi color preferido";
Cualquiera de las instrucciones
anteriores nos produciría la misma
                                         # Veamos impresos      los contenidos de esas variables
salida: es horrible.
                                         print ( "El color      ".$color. $$color ."<br>");
Podemos preguntarnos ¿cómo se            #o también
justifica que existan dos sintaxis       print ( "El color      ".$color. ${$color}."<br>");
tan similares como $$color y             # o también
${$color}? ¿Qué pintan las llaves?.      print ( "El color      ".$color. $rojo."<br>");
La utilización de las llaves es una
                                         # advirtamos lo que va a ocurrir al visualizar la página
forma de evitar situaciones de
interpretación confusa.
                                         print ("Las tres líneas anteriores deben decir lo mismo<br>");
Supongamos que las variables             print ("Hemos invocado la misma variable de tres formas diferentes<BR>");
tienen un nombre un poco más
raro.
                                         # cambiemos ahora el nombre del color
Por ejemplo que $color no se llama
                                         $color="magenta";
así sino $color[3] (podría ser que
$color fuera un array –una lista de
colores– y que esta variable             /* La variable $rojo seguirá existiendo.
contuviera el tercero de ellos).            El hecho de cambiar el valor a $color
                                            no significa que vayan a modificarse
En este supuesto, al escribir: print        las variables creadas con su color anterior
$$color[3] cabría la duda de si el          ni que se creen automáticamente variables
número 3 pertenece (es un índice)           que tengan por nombre el nuevo valor de $color                   */
a la variable $color o si ese
número corresponde a $$color.
                                         # Pongamos un mensaje de advertencia para que sea visualizado en la
Con print ${$color[3]} no habría         salida
lugar para esas dudas. Estaríamos
aludiendo de forma inequívoca a 3        print   ("Ahora la variable $color ha cambiado a magenta<br>");
como índice de la variable $color.       print   ("pero como no hemos creado ninguna variable con ese color<br>");
                                         print   ("en las lineas siguientes no aparecerá nada <br>");
¿Qué ocurre cuando                       print   ("detrás de la palabra magenta <br>");
la variable previa
cambia de valor?
                                         # Escribimos los print advertidos
Cuando la variable utilizada para        print (" El color ".$color.$$color."<br>");
definir una variable de variable         print (" El color ".$color.${$color}."<br>");
cambia de valor no se modifica ni
el nombre de esta última ni              # Comprobemos que la variable $rojo creada como variable de variable
tampoco su valor.                        # cuando $color="rojo" aún existe y mantiene aquel valor
Puedes ver este concepto, con un
                                         print ("Pese a que $color vale ahora ".$color."<br>");
poco más de detalle, en el código
fuente del ejemplo.
                                         print ("la vieja variable $rojo sigue existiendo <br>");
                                         print ("y conserva su valor. Es este: ".$rojo);
La solución del ejercicio
                                         ?>
Las diferencias que habrás podido
observar al realizar el ejercicio nº7
están originadas por la
interpretación que hacen PHP y el                                          ejemplo12.php
navegador de algunos caracteres
especiales, tales como $, ", o <,
que al ser interpretados como
símbolos del lenguaje no se               Ejercicio nº 7
imprimen en pantalla.
                                         Abre tu editor creando un documento nuevo. Copia el código fuente del ejemplo anterior y
Cuando pretendamos que                   pégalo en ese documento. Ahora guárdalo como ejercicio7.php. Abre en tu navegador
aparezcan escritos tendremos que         ejercicio7.php y compáralo con el que visualizas al pulsar sobre ejemplo12.php.
indicarlo de una forma especial.         Comprueba que existen algunas diferencias entre ambos.
En este enlace podrás ver la forma
de hacerlo.
                                          ¡Cuidado!

                                         Aunque en los enunciados no se advierta, como norma general, los ejercicios deberás
                                         guardarlos siempre en el directorio practicas que has creado al realizar el ejercicio nº 2



                                                                           Anterior   Indice   Siguiente

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Manual script usuarios masivos
Manual script usuarios masivosManual script usuarios masivos
Manual script usuarios masivos
 
Java script teoria
Java script teoriaJava script teoria
Java script teoria
 
Php
PhpPhp
Php
 
Php funciones en detalle
Php   funciones en detallePhp   funciones en detalle
Php funciones en detalle
 
Php1 sesión 6
Php1 sesión 6Php1 sesión 6
Php1 sesión 6
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
66 Php. Encuadre Y Redimensionado De Imagenes
66 Php. Encuadre Y Redimensionado De Imagenes66 Php. Encuadre Y Redimensionado De Imagenes
66 Php. Encuadre Y Redimensionado De Imagenes
 
minas
minas minas
minas
 
Script
ScriptScript
Script
 
42 Php. Bucles Foreach
42 Php. Bucles Foreach42 Php. Bucles Foreach
42 Php. Bucles Foreach
 
PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02
 
Clase10 stringsio
Clase10 stringsioClase10 stringsio
Clase10 stringsio
 
Taller listasyeasygui
Taller listasyeasyguiTaller listasyeasygui
Taller listasyeasygui
 
63 Php. Imagenes Con Lineas Y Textos
63 Php. Imagenes Con Lineas Y Textos63 Php. Imagenes Con Lineas Y Textos
63 Php. Imagenes Con Lineas Y Textos
 
Tema2 3
Tema2 3Tema2 3
Tema2 3
 
PHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básicoPHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básico
 
J query
J queryJ query
J query
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y Java
 
Tutorial de php
Tutorial de phpTutorial de php
Tutorial de php
 
Guia N2 Proyectos Web Php
Guia N2   Proyectos Web   PhpGuia N2   Proyectos Web   Php
Guia N2 Proyectos Web Php
 

Ähnlich wie Variables estáticas y de variables en PHP

Ähnlich wie Variables estáticas y de variables en PHP (20)

Practicawebdelasesion3
Practicawebdelasesion3Practicawebdelasesion3
Practicawebdelasesion3
 
50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores
 
82 Php. Ver Y Modificar Estructuras
82 Php. Ver Y Modificar Estructuras82 Php. Ver Y Modificar Estructuras
82 Php. Ver Y Modificar Estructuras
 
Programación de codigos de php
Programación de codigos de phpProgramación de codigos de php
Programación de codigos de php
 
Perl3 subrutinas
Perl3 subrutinasPerl3 subrutinas
Perl3 subrutinas
 
Programación de codigos de php
Programación de codigos de phpProgramación de codigos de php
Programación de codigos de php
 
Ensayo iv
Ensayo ivEnsayo iv
Ensayo iv
 
53 Php. Clases Y Objetos
53 Php. Clases Y Objetos53 Php. Clases Y Objetos
53 Php. Clases Y Objetos
 
14 PHP. Variables
14 PHP. Variables14 PHP. Variables
14 PHP. Variables
 
Php
PhpPhp
Php
 
26 Php. Array Escalar Y Asociativo
26 Php. Array Escalar Y Asociativo26 Php. Array Escalar Y Asociativo
26 Php. Array Escalar Y Asociativo
 
25 Php. Operaciones Con Cadenas
25 Php. Operaciones Con Cadenas25 Php. Operaciones Con Cadenas
25 Php. Operaciones Con Cadenas
 
PHP mode on
PHP mode onPHP mode on
PHP mode on
 
Programacion de Cadenas
Programacion de CadenasProgramacion de Cadenas
Programacion de Cadenas
 
18 Php. Tipos De Variables
18 Php. Tipos De Variables18 Php. Tipos De Variables
18 Php. Tipos De Variables
 
Php1
Php1Php1
Php1
 
PRACTICA WEB DE LA SESION 3 (Programación de codigos de php)
PRACTICA WEB DE LA SESION 3 (Programación de codigos de php)PRACTICA WEB DE LA SESION 3 (Programación de codigos de php)
PRACTICA WEB DE LA SESION 3 (Programación de codigos de php)
 
39 Php. Bucles While
39 Php. Bucles While39 Php. Bucles While
39 Php. Bucles While
 
Php1
Php1Php1
Php1
 
Php
PhpPhp
Php
 

Mehr von José M. Padilla

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTJosé M. Padilla
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0José M. Padilla
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busquedaJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionJosé M. Padilla
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.José M. Padilla
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.José M. Padilla
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20José M. Padilla
 

Mehr von José M. Padilla (20)

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busqueda
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
 

Kürzlich hochgeladen

_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 

Kürzlich hochgeladen (20)

_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 

Variables estáticas y de variables en PHP

  • 1. Otras variables Valores de las variables Variables estáticas Cuando hablábamos de las <? variables, nos referíamos a su ámbito y comentábamos que las # Observa que hemos prescindido de los encabezados HTML. variables definidas dentro de una # No son imprescindibles para la ejecución de los scripts función pierden sus valores en el momento en el que abandonemos /* Escribamos una función y llamémosla sinEstaticas el ámbito de esa función, es decir, Definamos en ella dos variables sin ninguna otra especificación cuando finaliza su ejecución. e insertemos las instrucciones para que al ejecutarse se escriban los valores de esas variables */ Decíamos también que si el ámbito en el que hubiera sido definida fuera externo a una function sinEstaticas(){ función los valores sólo se perderían –temporalmente– # Pongamos aquí sus valores iniciales mientras durara la eventual $a=0; ejecución de las instrucciones de $b=0; aquella y que, una vez acabado ese proceso, volvían a recuperar # Imprimamos estos valores iniciales sus valores. Bajo estas condiciones, si echo "Valor inicial de $a: ",$a,"<br>"; invocáramos repetidamente la echo "Valor inicial de $b: ",$b,"<br>"; misma función obtendríamos cada vez el mismo resultado. /* Modifiquemos esos valores sumando 5 al valor de $a y restando 7 al valor de $b. Las posibles modificaciones que $a +=5 y $b -=7 serán quienes haga esas pudieran haberse efectuado (a nuevas asignaciones de valor través de las instrucciones ya lo iremos viendo, no te preocupes */ contenidas en la función) en el valor inicial de las variables, se perderían cada vez que $a +=5; abandonáramos la función con lo $b -=7; cual, si hiciéramos llamadas sucesivas, se repetirían tanto el # Visualicemos los nuevos valores de las variables valor inicial como el resultado. echo "Nuevo valor de $a: ",$a,"<br>"; echo "Nuevo valor de $b: ",$b,"<br>"; Variables estáticas } Para poder conservar el último # Escribamos ahora la misma función con una modificación que será valor de una variable definida # asignar la condición de estática a la variable $b dentro de una función basta con # Llamemos a esa función: conEstaticas definirla como estática. La instrucción que permite function conEstaticas(){ establecer una variable como estática es la siguiente: # Definimos $b como estática $a=0; static nombre = valor; static $b=0; P. ej: si la variable fuera $a y el valor inicial asignado fuera 3 echo "Valor inicial de $a: ",$a,"<br>"; escribiríamos: echo "Valor inicial de $b: ",$b,"<br>"; static $a=3; $a +=5; $b -=7; La variable conservará el último de los valores que pudo habérsele asignado durante la ejecución de echo "Nuevo valor de $a: ",$a,"<br>"; la función que la contiene. No echo "Nuevo valor de $b: ",$b,"<br>"; retomará el valor inicial hasta que se actualice la página. } # Insertemos un texto que nos ayude en el momento de la ejecución Variables de variables print ("Esta es la primera llamada a sinEstaticas()<br>"); Además del método habitual de asignación de nombres a las # Invoquemos la función sinEstaticas; variables -poner el signo $ delante de una palabra-, existe la sinEstaticas(); posibilidad de que tomen como nombre el valor de otra variable # Añadamos un nuevo comentario a la salida previamente definida. print ("Esta es la segunda llamada sinEstaticas()<br>"); print ("Debe dar el mismo resultado que la llamada anterior<br>"); La forma de hacerlo sería esta: # Invoquemos por segunda vez sinEstaticas; sinEstaticas(); $$nombre_variable_previa; Veamos un ejemplo. # Hagamos ahora lo mismo con la función conEstaticas Supongamos que tenemos una print ("Esta es la primera llamada a conEstaticas()<br>"); variable como esta: conEstaticas(); $color="verde"; Si ahora queremos definir una print ("Esta es la segunda llamada a conEstaticas()<br>"); nueva variable que utilice como print ("El resultado es distinto a la llamada anterior<br>"); nombre el valor (verde) que está contenido en la variable previa conEstaticas(); ($color), habríamos de poner algo como esto: ?> $$color="es horrible";
  • 2. ¿Cómo podríamos visualizar el ejemplo11.php valor de esta nueva variable? Habría tres formas de escribir la Variables de variables instrucción: print $$color; <? o # Definamos una variable y asignémosle un valor print ${$color}; $color="rojo"; o también # Definamos ahora una nueva variable de nombre variable print $verde; # usando para ello la variable anterior $$color=" es mi color preferido"; Cualquiera de las instrucciones anteriores nos produciría la misma # Veamos impresos los contenidos de esas variables salida: es horrible. print ( "El color ".$color. $$color ."<br>"); Podemos preguntarnos ¿cómo se #o también justifica que existan dos sintaxis print ( "El color ".$color. ${$color}."<br>"); tan similares como $$color y # o también ${$color}? ¿Qué pintan las llaves?. print ( "El color ".$color. $rojo."<br>"); La utilización de las llaves es una # advirtamos lo que va a ocurrir al visualizar la página forma de evitar situaciones de interpretación confusa. print ("Las tres líneas anteriores deben decir lo mismo<br>"); Supongamos que las variables print ("Hemos invocado la misma variable de tres formas diferentes<BR>"); tienen un nombre un poco más raro. # cambiemos ahora el nombre del color Por ejemplo que $color no se llama $color="magenta"; así sino $color[3] (podría ser que $color fuera un array –una lista de colores– y que esta variable /* La variable $rojo seguirá existiendo. contuviera el tercero de ellos). El hecho de cambiar el valor a $color no significa que vayan a modificarse En este supuesto, al escribir: print las variables creadas con su color anterior $$color[3] cabría la duda de si el ni que se creen automáticamente variables número 3 pertenece (es un índice) que tengan por nombre el nuevo valor de $color */ a la variable $color o si ese número corresponde a $$color. # Pongamos un mensaje de advertencia para que sea visualizado en la Con print ${$color[3]} no habría salida lugar para esas dudas. Estaríamos aludiendo de forma inequívoca a 3 print ("Ahora la variable $color ha cambiado a magenta<br>"); como índice de la variable $color. print ("pero como no hemos creado ninguna variable con ese color<br>"); print ("en las lineas siguientes no aparecerá nada <br>"); ¿Qué ocurre cuando print ("detrás de la palabra magenta <br>"); la variable previa cambia de valor? # Escribimos los print advertidos Cuando la variable utilizada para print (" El color ".$color.$$color."<br>"); definir una variable de variable print (" El color ".$color.${$color}."<br>"); cambia de valor no se modifica ni el nombre de esta última ni # Comprobemos que la variable $rojo creada como variable de variable tampoco su valor. # cuando $color="rojo" aún existe y mantiene aquel valor Puedes ver este concepto, con un print ("Pese a que $color vale ahora ".$color."<br>"); poco más de detalle, en el código fuente del ejemplo. print ("la vieja variable $rojo sigue existiendo <br>"); print ("y conserva su valor. Es este: ".$rojo); La solución del ejercicio ?> Las diferencias que habrás podido observar al realizar el ejercicio nº7 están originadas por la interpretación que hacen PHP y el ejemplo12.php navegador de algunos caracteres especiales, tales como $, ", o <, que al ser interpretados como símbolos del lenguaje no se Ejercicio nº 7 imprimen en pantalla. Abre tu editor creando un documento nuevo. Copia el código fuente del ejemplo anterior y Cuando pretendamos que pégalo en ese documento. Ahora guárdalo como ejercicio7.php. Abre en tu navegador aparezcan escritos tendremos que ejercicio7.php y compáralo con el que visualizas al pulsar sobre ejemplo12.php. indicarlo de una forma especial. Comprueba que existen algunas diferencias entre ambos. En este enlace podrás ver la forma de hacerlo. ¡Cuidado! Aunque en los enunciados no se advierta, como norma general, los ejercicios deberás guardarlos siempre en el directorio practicas que has creado al realizar el ejercicio nº 2 Anterior Indice Siguiente