PHP Variables


Las variables son "contenedores" utilizados para almacenar información:

Ejemplos

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

Ejecutar ejemplo »

Similar al álgebra

x=5
y=6
z=x+y

En álgebra, usamos letras (como x) y les asignamos valores (como 5).

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

En PHP, estas letras se denominanvariables。

lamp Las variables son contenedores para almacenar datos.


Variables en PHP

De manera similar al álgebra, se puede asignar a una variable de PHP un valor (x=5) o una expresión (z=x+y).

Las variables pueden tener nombres muy cortos (como x e y) o nombres más descriptivos (como age, carname, totalvolume).

Reglas de las variables en PHP:

  • Las variables comienzan con el signo $, seguido del nombre de la variable
  • El nombre de la variable debe comenzar con una letra o un carácter de subrayado
  • El nombre de la variable solo puede contener letras, números y subrayados (A-z, 0-9 y _)
  • El nombre de la variable no puede contener espacios
  • Los nombres de variable distinguen entre mayúsculas y minúsculas ($y y $Y son dos variables diferentes)
lamp Tanto las sentencias como las variables de PHP distinguen entre mayúsculas y minúsculas.

Crear (declarar) variables en PHP

PHP no tiene un comando para declarar variables.

La variable se crea en el momento en que le asigna un valor por primera vez:

Ejemplo

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

Ejecutar ejemplo »

En la ejecución de la sentencia anterior, la variabletxtguardará el valorHello world!, y la variablexguardará el valor5。

Nota:Cuando asigne un valor de texto a una variable, coloque comillas a ambos lados del valor de texto.


PHP es un lenguaje de tipado débil

En el ejemplo anterior, notamos que no es necesario declarar a PHP el tipo de dato de la variable.

PHP convierte automáticamente la variable al tipo de dato correcto según su valor.

En los lenguajes de programación de tipado fuerte, debemos declarar (definir) el tipo y el nombre de la variable antes de usarla.


Ámbito de las variables en PHP

El ámbito de una variable es la parte del script donde la variable puede ser referenciada/utilizada.

PHP tiene cuatro ámbitos de variables diferentes:

  • local
  • global
  • static
  • parameter

Ámbito local y global

Las variables definidas fuera de todas las funciones tienen ámbito global. Excepto dentro de las funciones, las variables globales pueden ser accedidas desde cualquier parte del script. Para acceder a una variable global dentro de una función, se necesita usar la palabra clave global.

Las variables declaradas dentro de una función de PHP son variables locales y solo se pueden acceder dentro de la función:

Ejemplo

<?php
$x=5; // variable global

function myTest()
{
    $y=10; // variable local
    echo "<p>Probando variables dentro de la función:<p>";
    echo "La variable x es:$x";
    echo "<br>";
    echo "La variable y es:$y";
}

myTest();

echo "<p>Probando variables fuera de la función:<p>";
echo "La variable x es:$x";
echo "<br>";
echo "La variable y es:$y";
?>

En el ejemplo anterior, la función myTest() define las variables $x y $y. La variable $x se declara fuera de la función, por lo que es una variable global , mientras que la variable $y se declara dentro de la función, por lo que es una variable local.

Cuando llamamos a la función myTest() y mostramos los valores de las dos variables, la función mostrará el valor de la variable local $y, pero no podrá mostrar el valor de $x, porque la variable $x está definida fuera de la función y no se puede usar dentro de ella. Para acceder a una variable global dentro de una función, se necesita usar la palabra clave global.

Luego mostramos los valores de las dos variables fuera de la función myTest(). La función mostrará el valor de la variable global $x, pero no podrá mostrar el valor de $y, porque la variable $y está definida dentro de la función y es una variable local.

Note Puede usar los mismos nombres de variables en diferentes funciones, porque los nombres de variables definidos dentro de estas funciones son variables locales y solo actúan dentro de esa función.

La palabra clave global en PHP

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

Para acceder dentro de una función a una variable global definida fuera de la función, necesitamos anteponer la palabra clave global a la variable dentro de la función:

Ejemplo

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

Ejecutar ejemplo »

PHP almacena todas las variables globales en un array llamado $GLOBALS[index].indexAquí se guarda el nombre de la variable. Este array se puede acceder desde dentro de una función y también se puede usar directamente para actualizar variables globales.

El ejemplo anterior se puede escribir así:

Ejemplo

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

Ejecutar ejemplo »


Ámbito static

Cuando una función termina, todas sus variables normalmente se eliminan. Sin embargo, a veces se desea que una variable local no se elimine.

Para lograrlo, cuando declare la variable por primera vez, use lastaticpalabra clave:

Ejemplo

<?php function myTest() { static $x=0; echo $x; $x++; echo PHP_EOL; //Salto de línea } myTest(); myTest(); myTest(); ?>

Ejecutar ejemplo »

Luego, cada vez que se llama a la función, la variable conservará el valor que tenía en la llamada anterior de la función.

Nota:La variable sigue siendo una variable local de la función.


Ámbito de los parámetros

Los parámetros son variables locales que reciben valores desde el código que llama a la función.

Los parámetros se declaran en la lista de parámetros, como parte de la declaración de la función:

Ejemplo

<?php function myTest($x) { echo $x; } myTest(5); ?>

En elcapítulo de Funciones de PHPlo discutiremos con más detalle.

Otras extensiones