viernes, 22 de agosto de 2008

Las variables en Php



En PHP no es necesario declarar la variable, es decir, no es necesario decirle al programa si una variable es una cadena o un número entero, ya que PHP se encargará de definirla por sí mismo.

Por ejemplo:

$cadena = "Hola Mundo";
$numero = 100;
$decimal = 8.5;
?>

Como puedes observar las tres variables fueron simplemente definidas con un valor y no necesariamente con el tipo. Tanto "Hola Mundo" que es una cadena, como 100 que es un número y 8.5 que es un decimal, son aceptadas por el PHP e interpretadas en la ejecución del script.

Ahora veamos el ámbito de las variables. En muchos tutoriales nos confunden mucho acerca de este concepto, pero el ámbito de una variable, no es más que el lugar que tiene en un script. Cuando son de ámbito global, la variable ocupa un lugar en todas las partes del script, y puede ser utilizada en cualquier momento; pero si es de ámbito local, quiere decir, que sólo existirá y operará dentro de una función y no podrá ser accedida por el script en general, ni por las otras funciones.

Para declarar a una variable, de ámbito global, podemos utilizar la palabra clave global, aunque simplemente con definirla fuera de cualquier función ya se le está dando ese ámbito. Veamos un ejemplo, para aclarar este concepto:

global $variable; //la variable ya es de ambito global
$numero = 1; //la variable es de ambito global, aunque no se ha declarado con global

function multiplicar(){
$multiplicacion = ($numero * 50); //multiplicacion solo existe en la funcion multiplicar()
echo $multiplicacion;
}

?>

En el anterior ejemplo se observa claramente cuándo una variable es de ámbito global y local. La variable $numero puede ser accedida dentro y fuera de cualquier función, tal como lo hace la función multiplicar() que se encarga de multiplicar dicho número ($numero) por 50. Pero lo más destacable de esa función es que fácilmente puede llamar a la variable $numero, en vista de que ésta es de ámbito global, pero realiza la operación dentro de la variable $multiplicacion, que sólo existe durante la ejecución de multiplicar(), porque fue utilizado y definida en esa función, y no globalmente. De ahí se puede resumir, que una variable es de ámbito global cuando se declara fuera de cualquier función, o con la palabra global, y que es de ámbito local si se declara y utiliza dentro de alguna función.

Para terminar con el tema de las variables, podemos tratar un poco sobre los arrays, o vectores, que son un tipo de variables especiales, que pueden contener muchos elementos al tiempo, generalmente relacionados entre si.

$animales = array(); //con array() se declara que la variable es un vector
$animales[0] = "Gato";
$animales[1] = "Perro";
$animales[2] = "Elefante";
?>

Como ves, la variable $animales, es declarado al inicio con new Array(), lo que permite incluir diferentes elementos dentro de ella.
Cada uno de esos elementos se debe crear utilizando el nombre del array seguido por un número entre corchetes, el cual definirá el elemento en sí: $animales es un array, pero $animales[0], es un elemento del array, y su valor es la cadena Gato.

Los arrays son muy útiles cuando, como en nuestro ejemplo, en lugar de crear variables distintas para cada elemento, utilizamos uno en común que los incluya a todos. De este modo si por ejemplo queremos mostrar un listado de animales, podemos recorrer el array $animales, en lugar de crear variables como $gato, $perro, $jirafa, etc

No hay comentarios: