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 />";
?>
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.