Variables Estáticas en PHP
<?phpfunction estaticas(){$variableNormal+=5;echo ("El valor de \$variableNormal al comienzo de la función es $variableNormal.<br>");$variableNormal*=2;echo ("Al duplicar \$variableNormal su valor es $variableNormal.<br>");}echo ("<u>Primera ejecución de la función.</u><br>");estaticas();echo ("<u>Segunda ejecución de la función.</u><br>");estaticas();?>
Paso a Paso
- En la primera linea del cuerpo de la función, se declara una variable y se le añaden 5 unidades.
- Como dicha variable no existe previamente y estamos haciendo con ella una operación aritmética, PHP sobreentiende que es una variable numérica y le asigna inicialmente el valor de cero.
- Al incrementarla en 5 unidades pasa a tener el valor a cinco, tal como se muestra en la segunda línea.
- Después se multiplica por dos, con lo que pasa a valer diez, tal como se muestra en la cuarta línea.
- Fíjese en que se invocan dos veces a la función y en ambas ocasiones el resultado es el mismo.
- Esto quiere decir que el valor de la variable local $varibleNormal se pierde al terminar la ejecución de la función.
- No se conserva de una ejecución a otra.
- Este es el funcionamiento normal, y realmente será el que necesitemos en la mayoría de los casos
<?phpfunction estaticas(){static $variableNormal;$variableNormal+=5;echo ("El valor de \$variableNormal al comienzo de la función es $variableNormal.<br>");$variableNormal*=2;echo ("Al duplicar \$variableNormal su valor es $variableNormal.<br>");}echo ("<u>Primera ejecución de la función.</u><br>");estaticas();echo ("<u>Segunda ejecución de la función.</u><br>");estaticas();?>
- La primera vez que se llama a la función, como $variableNormal no existe, PHP la crea y, cuando se le dice que la incremente en 5 unidades, le queda el valor de cinco,
- Al multiplicarlo por dos le queda el valor de diez.
- Como la variable ha sido declarada como estática, este valor se conserva de modo que al llamar a la función por segunda vez, cuando se incrementa en 5 unidades, queda con el valor de quince, y al multiplicarlo por dos queda el valor de treinta.
Temas referentes a la Definición de Funciones
Hasta la Próxima
Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto
0 comentarios:
Publicar un comentario