[Ir al menú de PHP]
Otras variables

Variables estáticas

• Cuando definimos una variable dentro una función al salir de ella pierde el valor que pasa a ser nulo.

• Para poder conservar el último valor de una variable definida dentro de una función basta con definirla como estática.

• La sintaxis para definir una variable estática es esta:

static nombre=valor;

• P. ej: si la variable fuera $a y el valor inicial que prentendiéramos asignarle fuera 3 escribiríamos:

static $a=3;

• La variable conserva siempre el último valor que pudo haberle sido asignado durante la ejecución de los scripts PHP contenidos en la página.

• Retomará el valor inicial cuando se actualice la página.

Nuevas instrucciones

• Aunque las ¿estudiaremos? más adelante, he puesto un par de intrucciones nuevas en el ejemplo de esta página. Son:

$a++

Incrementa en una unidad el valor anterior de la variable

for ($i=1;$i<=10;$i++) {

... instrucciones ...

}


• Es un bucle típico -se usa en todos los lenguajes de programación- que en esta caso indica que desde el valor 1 de la variable $i hasta el valor 10 con incrementos de uno en uno ($i++) han de repetirse las instrucciones contenidas entre { y }.

¡¡Cuidado... con las llaves!!

Si te fijas en el ejemplo se abren dos llaves -una que encierra el contenido de la función y otra que encierra el bucle

• Siempre deben cerrarse tantas llaves como se abran.

• PHP -igual que los demás lenguajes de programación- las interpreta como anidadas, es decir.. la última que se cierra es el cierre de la primera abierta, la penúltima en cerrarse se corresponde con la segunda en abrirse, etc. etc..

• Ya se que esta advertencia es una tontería... pero... ;-) ¡¡cuidadín...!! luego no me digas que .. por qué no te avisé..



 
 


Variables estáticas y variables de variables...

Aquí tienes un ejemplo con dos variables -una de ellas estática- en el que podrás comprobar la diferencia entre poner static delante de la variable y no ponerlo...


<HTML>
<HEAD>
<TITLE>Ejemplo 8 -PHP</TITLE>
</HEAD>

<BODY>
<?
# Variables estáticas

function verVariable(){

	for ($i = 1; $i <= 10; $i++) {
  	
		$a=0;
		static $b=0;
		echo "Vuelta nº: ",$i," Variable a: ",
				$a," Variable b: ",$b,"<br>";
		$a++;
		$b++;

	}
}
verVariable();

# Variables de variables

$a="Hola";
$$a=" Fondo norte";


# La variable $a tomará el valor Hola
?>

La variable $a toma el valor: <? echo $a,"<br>";

# Tanto la variable $$a como ${$a} como tambien $Hola
# toman el mismo valor... Fondo norte

 ?>

La variable $$a toma el valor: <? echo $$a,"<br>" ?>

La variable ${$a} toma el valor: <? echo ${$a},"<br>" ?>

La variable $Hola toma el valor: <? echo $Hola,"<br>" ?>
<br><br>
Al invocar de nuevo la función verVariable vemos que<br>
<b>se conserva su último valor</b><br><br>
<? verVariable(); ?>
<br><br>
Si invocamos la variable $b desde <b>fuera de la función</b><br>
este es el resultado....<br><br>
<? echo "El valor de b es:", $b; ?>

<br><br>El valor que devuelve es <b>una cadena vacía</b>
</BODY>
</HTML>


Variables variables...

Esto que parece muy complicado no lo es tanto... Verás.. tu puedes definir una variable como siempre -con el $ delante- y después... si te apetece... si te da la gana... puedes definir otra con con el mismo nombre pero con... dos dollares ($$) delante.. y cada una de ellas puede tener un valor distinto...

En definitiva, se trata de dos variables distintas... pero ¿donde está el chiste?...

Hasta donde yo sé -si más adelante me entero de más cosas ya te avisaré- sirve para que cuando tengamos que invocar la variable marcada con $$ podamos hacerlo de tres maneras:
En el ejemplo tienes una demostración... la utilidad... ya la veremos más adelante -si llegamos- de momento confórmate con esto y recuerda que ...el saber no ocupa lugar...


ejemplo8.php

Sugerir a un/a amig@ Envíame tus comentarios
Anterior
Indice
Siguiente