Como ya es conocido en otros lenguajes, el alcance de una variable se basa en el entorno en que fue creado, de modo que si una variable es creada dentro de una función, esta no podrá ser utilizada fuera de la misma.
1 2 3 4 5 6 7 8 9 10 |
function doublevalue($var) { $temp = $var * 2; } $variable = 5; doublevalue($variable); echo "\$temp is: $temp"; //Muestra "$temp is:" |
Como se puede ver en el ejercicio anterior no se puede acceder a la variable $temp fuera de la función.
Variables globales
Si se desea utilizar la misma variable en todas partes del código, incluyendo dentro de las funciones, puede hacerlo con la directiva global. La sentencia global declara una variable dentro de una función igual que como la variable que se utiliza fuera de la función.
1 2 3 4 5 6 7 8 9 10 11 |
function doublevalue( ) { global $temp; $temp = $temp * 2; } $temp = 5; doublevalue( ); echo "\$temp is: $temp"; //Muestra "$temp is: 10" |
Variables estáticas
Las variables también pueden ser declaradas dentro de una función como estáticas. La variable estática está disponible sólo en el ámbito de la función, pero el valor no se pierde entre llamadas a funciones.
1 2 3 4 5 6 7 8 9 10 11 |
function count( ) { static $count = 0; $count++; return $count; } echo count(); //Imprime 1 echo count(); //Imprime 2 |
La primera vez que se llama a la función count(), la variable estática $count es cero, y se incrementa. El valor de $count se mantiene durante las llamadas posteriores.
¿Te gustó este artículo?
Si te gustó este artículo, te ha servido o aprendiste algo nuevo; compártelo en tus redes sociales o invítame un cafe.