Variables de PHP

La variable es un contenedor de información:

Ejemplo

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

Ejemplo de ejecución

Al igual que en la álgebra

x=5
y=6
z=x+y

En la álgebra, usamos letras (como x) para guardar valores (como 5).

Desde la expresión z=x+y superior, podemos calcular que el valor de z es 11.

En PHP, estos tres caracteres se denominanVariable.

Comentarios:Considera a la variable como un contenedor de datos.

Variables de PHP

Al igual que en la álgebra, las variables de PHP se pueden usar para guardar valores (x=5) y expresiones (z=x+y).

El nombre de la variable puede ser muy corto (por ejemplo, x y y), o puede tener un nombre más descriptivo (por ejemplo, carname, total_volume).

Reglas de variable de PHP:

  • La variable comienza con el símbolo $ seguido del nombre de la variable
  • El nombre de la variable debe comenzar con una letra o guión bajo
  • Los nombres de las variables no pueden comenzar con un número
  • Los nombres de las variables solo pueden contener caracteres alfanuméricos y guiones bajos (A-z, 0-9 y _)
  • Los nombres de las variables son sensibles a mayúsculas y minúsculas ($y y $Y son dos variables diferentes)

Comentarios:Los nombres de las variables PHP son sensibles a mayúsculas y minúsculas!

Crear variable PHP

PHP no tiene una orden para crear variables.

Las variables se crean por primera vez cuando se les asigna un valor:

Ejemplo

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

Ejemplo de ejecución

Después de la ejecución de las instrucciones anteriores, la variable txt guardará el valor Hello world!, la variable x guardará el valor 5 y la variable y guardará el valor 10.5.

Comentarios:Si le asigna un valor de texto a la variable, use comillas para delimitar el valor.

PHP es un lenguaje de tipado flojo

En el ejemplo anterior, note que no es necesario informar a PHP del tipo de datos de la variable.

PHP convierte automáticamente las variables en el tipo de datos correcto según su valor.

En lenguajes como C y C++ y Java, los programadores deben declarar el nombre y el tipo de la variable antes de usarla.

Alcance de variables PHP

En PHP, se puede declarar una variable en cualquier lugar del script.

El alcance de una variable es la parte del script en la que la variable puede ser referenciada o utilizada.

PHP tiene tres tipos diferentes de alcance de variables:

  • Local (local)
  • Global (global)
  • Static (estático)

Alcance Local y Global

FunciónFueraLas variables declaradas tienen alcance GLOBAL, y solo se pueden acceder fuera de la función.

FunciónInternamenteLas variables declaradas tienen alcance LOCAL, y solo se pueden acceder dentro de la función.

El siguiente ejemplo prueba variables con alcance local y global:

Ejemplo

<?php
$x=5; // Alcance global
function myTest() {
  $y=10; // Alcance local
  echo "<p>Pruebas de variables dentro de la función:</p>";
  echo "La variable x es: $x";
  echo "<br>";
  echo "La variable y es: $y";
} 
myTest();
echo "<p>Pruebas de variables fuera de la función:</p>";
echo "La variable x es: $x";
echo "<br>";
echo "La variable y es: $y";
?>

Ejemplo de ejecución

En el ejemplo anterior, hay dos variables $x y $y, y una función myTest(). $x es una variable global, porque se declara fuera de la función, mientras que $y es una variable local, porque se declara dentro de la función.

Si declaramos las variables dentro de la función myTest(), $y salida el valor declarado localmente, pero no puede salida el valor de $x, porque se crea fuera de la función.

Luego, si se salida los valores de dos variables fuera de la función myTest(), se salida el valor de $x, pero no el valor de $y, porque es una variable local y se crea dentro de myTest().

Comentarios:Puede crear variables locales con nombres idénticos en diferentes funciones, ya que las variables locales solo pueden ser reconocidas por la función que las creó.

Palabra clave global de PHP

La palabra clave global se utiliza para acceder a variables globales dentro de una función.

Para lograr esto, utilice la palabra clave global (dentro de la función) antes de la variable:

Ejemplo

<?php
$x=5;
$y=10;
function myTest() {
  global $x,$y;
  $y=$x+$y;
}
myTest();
echo $y; // Salida 15
?>

Ejemplo de ejecución

PHP almacena todos los variables globales en un array llamado $GLOBALS[index]. El índice contiene el nombre de la variable. Este array también se puede acceder dentro de la función y se puede utilizar para actualizar variables globales directamente.

El ejemplo anterior se puede redactar de la siguiente manera:

Ejemplo

<?php
$x=5;
$y=10;
function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
myTest();
echo $y; // Salida 15
?>

Ejemplo de ejecución

Palabra clave static de PHP

Por lo general, cuando una función se completa/ejecuta, se eliminan todas las variables. Sin embargo, a veces necesito no eliminar una variable local. Esto requiere un trabajo adicional.

Para lograr esto, utilice static Palabras clave:

Ejemplo

<?php
function myTest() {
  static $x=0;
  echo $x;
  $x++;
}
myTest();
myTest();
myTest();
?>

Ejemplo de ejecución

Luego, cada vez que se llama a la función, la información almacenada en esta variable es la información que contenía la función la última vez que fue llamada.

Comentarios:Esta variable sigue siendo una variable local de la función.