En PHP, los nombres de variables deben comenzar por el signo "$".

Al contrario que en otros lenguajes de programación, no es necesario definir previamente la variable ni el tipo de datos que va a contener. Una variable queda definida la primera vez que se asigna un valor a la misma. Una variable no tiene asociado un tipo de datos concreto (entero, decimal, booleano, string). En un momento determinado, una variable PHP puede contener un valor entero, y mas tarde se le puede asignar un valor de tipo string o de cualquier otro tipo de datos.

Ejemplo:

 $a = 1; 
$b = 67.8;
$c = "Hola Mundo";
$d = true;

En este ejemplo hemos definido:

  • Una variable $a de tipo entero (int)
  • Una variable $b de tipo decimal (float)
  • Una variable $c de tipo cadena (string)
  • Una variable $d de tipo booleano

En el ejemplo también se puede ver que la sintaxis de la sentencia de asignación es de la forma $variable = valor;.
Cualquier sentencia en PHP debe terminar con el carácter ';' .

Variables globales

El siguiente ejemplo no funciona en PHP:

$a = 1;
$b = 2;
Function Sum ()
{
$b = $a + $b;
}





Sum ();
echo $b;

Esto se debe a que en PHP, al contrario que en otros lenguajes, no se puede hacer uso de una variable que ha sido definida fuera de una función, a menos que se defina explícitamente con la instrucción global.

Para que el ejemplo funcione como queremos, debemos escribirlo como sigue:

$a = 1; $b = 2;



Function Sum ()
{
global $a, $b;
$b = $a + $b;
}

Sum ();
echo $b;

El ejemplo precedente nos permite ver también la sintaxis para definir y utilizar una función simple, que no tiene parámetros de entrada y no devuelve ningún valor. Las funciones se tratan con más detalle más adelante en este manual.

Variables estáticas

Por defecto, una variable definida en el interior de una función deja de existir cuando finaliza la ejecución de la función. En el siguiente ejemplo, el resultado que se visualiza siempre es el valor "0":

Function Test () {
$a = 0;
echo $a;
$a = $a + 1;
}

Esto se debe a que la variable $a se inicializa a cero cada vez que que se llama a la funcion Test.

Sin embargo, si definimos la variable como static, sólo se inicializa la primera vez que se llama a la función:

Function Test () {
static $a = 0;
echo $a;
$a++;
}

En este caso, el resultado será 0, 1, 2, ... cada vez que se llame a la función Test().

Este último ejemplo nos permite ver también la sintaxis del operador ++, que incrementa en una unidad el valor de la variable a la que se aplica:

$a++ es equivalente a $a = $a + 1.

<< Anterior: Introducción <<  >> Siguiente: Operadores >>