W3docs

Introducción a las Variables de PHP

En PHP, una variable es un contenedor con nombre que almacena un valor en memoria. Las variables se denotan con el signo de dólar ($) seguido del nombre.

En PHP, una variable es un contenedor con nombre que almacena un valor en memoria. Las variables se denotan con un signo de dólar ($) seguido del nombre de la variable. El valor que almacena una variable puede establecerse, cambiarse y leerse en cualquier momento mientras se ejecuta un script PHP, lo que hace que el script sea dinámico en lugar de un bloque de salida fijo.

Este capítulo explica cómo declarar variables, las reglas de nomenclatura que debes seguir, los tipos de datos que puede contener una variable, cómo PHP determina el tipo de una variable automáticamente y las operaciones cotidianas que realizarás con variables.

Declarar una Variable

Una variable se crea en el momento en que le asignas un valor. PHP no tiene una palabra clave de "declaración" separada — la asignación es la declaración:

PHP define a variable

<?php
$variable_name = value;

Aquí $variable_name es el nombre y value es lo que almacenas en ella. Un ejemplo completo y funcional:

<?php
$greeting = "Hello, World!";
$year     = 2024;

echo $greeting;   // Hello, World!
echo "\n";
echo $year;       // 2024

Salida:

Hello, World!
2024

No es obligatorio asignar un valor a una variable cuando la mencionas por primera vez, pero leer una variable que nunca fue asignada genera una advertencia y evalúa a NULL, por lo que siempre debes asignar antes de usar.

Reglas de Nomenclatura

Un nombre de variable PHP válido:

  • Comienza con una letra o un guion bajo (_) — nunca con un dígito.
  • Contiene solo letras, números y guiones bajos después del primer carácter.
  • Es sensible a mayúsculas y minúsculas: $name, $Name y $NAME son tres variables diferentes.
<?php
$user_age = 30;   // valid
$_token   = "ab"; // valid (starts with underscore)
$2cool    = 1;    // INVALID — cannot start with a digit

Por convención, las variables PHP usan snake_case ($first_name), aunque camelCase ($firstName) también es común. Elige un estilo y mantenlo de forma consistente.

Tipos de Datos que Puede Contener una Variable

PHP es de tipado dinámico: nunca declaras un tipo, y la misma variable puede contener diferentes tipos a lo largo de su vida. El tipo se infiere del valor que asignas.

  • String — una secuencia de caracteres: $name = "John Doe";
  • Integer — un número entero: $age = 25;
  • Float — un número con punto decimal: $average = 7.5;
  • Booleantrue o false: $is_active = true;
  • Array — una colección ordenada de valores: $fruits = ["apple", "banana", "orange"];
  • Object — una instancia de una clase: $person = new Person();
  • NULL — una variable sin valor: $email = null;

Puedes inspeccionar el valor y el tipo de una variable en tiempo de ejecución con var_dump():

<?php
$age     = 25;
$average = 7.5;
$name    = "Sara";

var_dump($age);
var_dump($average);
var_dump($name);

Salida:

int(25)
float(7.5)
string(4) "Sara"

Para un análisis más detallado de cada tipo, consulta Tipos de Datos en PHP.

Tipado Débil y Conversión de Tipos

Dado que el tipo de una variable proviene de su valor, reasignar cambia el tipo:

<?php
$x = 10;       // $x is an integer
$x = "ten";    // now $x is a string — perfectly legal
$x = 3.14;     // now $x is a float

PHP también convierte tipos automáticamente en muchas expresiones (llamado type juggling). Por ejemplo, una cadena numérica se trata como un número en operaciones aritméticas:

<?php
$result = "5" + 3;
echo $result;   // 8 — the string "5" is converted to the integer 5

Esta conveniencia puede sorprenderte, por lo que cuando necesites que un valor sea de un tipo específico, conviértelo explícitamente: (int) $value, (float) $value o (string) $value.

Operaciones con Variables

Una vez que tienes variables, las combinas y comparas.

Asignación — almacena un valor:

<?php
$name = "John Doe";

Aritmética — suma, resta, multiplicación, etc.:

<?php
$a = 8;
$b = 3;
$sum = $a + $b;
echo $sum;   // 11

Comparación — prueba la relación entre valores; el resultado es un boolean:

<?php
$a = 5;
$b = 5;
$is_equal = ($a == $b);
var_dump($is_equal);   // bool(true)

Concatenación — une cadenas con el operador punto (.):

<?php
$first_name = "John";
$last_name  = "Doe";
$full_name  = $first_name . " " . $last_name;
echo $full_name;   // John Doe

Para la lista completa de operadores, consulta Operadores de PHP.

Ámbito de las Variables

Donde declares una variable determina dónde puede leerse. Una variable creada en el cuerpo principal de un script no está disponible automáticamente dentro de una función, y viceversa:

<?php
$message = "outside";

function show() {
    echo $message;   // Notice: undefined variable — scope does not reach in
}

show();

Para usar una variable externa dentro de una función, pásala como argumento o impórtala con la palabra clave global. El ámbito es una fuente común de errores para los principiantes, por lo que vale la pena leer el capítulo dedicado a Ámbito de Variables en PHP.

Constantes vs. Variables

Cuando un valor nunca debe cambiar, usa una constante en lugar de una variable. Las constantes no tienen el prefijo $ y se definen con define() o la palabra clave const. Consulta Constantes de PHP para más detalles.

Conclusión

Las variables de PHP son los bloques de construcción de cada script: almacenan y manipulan los datos con los que trabaja tu programa. Los puntos clave son que las variables comienzan con $, los nombres distinguen entre mayúsculas y minúsculas y no pueden comenzar con un dígito, y PHP infiere el tipo a partir del valor, por lo que una sola variable puede contener cadenas, números, arrays, objetos o NULL a lo largo de su vida. A partir de aquí, continúa con Tipos de Datos en PHP y Operadores de PHP para poner las variables en práctica.

Práctica

Práctica
¿Cuáles de las siguientes afirmaciones son verdaderas sobre las variables de PHP?
¿Cuáles de las siguientes afirmaciones son verdaderas sobre las variables de PHP?
Was this page helpful?