Buenas, tengo una duda sobre la variable
static en este código:
Código PHP:
<?php
function birthday ( ) {
static $edad = 0;
$edad = $edad + 1;
echo "cumpleaños número $edad<br />";
}
$edad = 30;
//Invocamos la función dos veces
birthday ( );
birthday ( );
echo "Edad: $edad <br />";
?>
En fin, se supone que eso muestra:
cumpleaños número 1
cumpleaños número 1
Edad: 30
Y aquí mi duda: ¿por qué se declara la variable con
static en la función si la declaramos como variable local (?) antes de llamar la función? ¿Se trata de la misma variable?
El ejemplo lo he sacado de un libro de
php, ¿es posible que sea un fallo del libro, o soy yo que no lo entiendo?
Muchas gracias, un saludo.