Una variable es un nombre que guarda un valor para usarlo después. En C tenías que declarar el tipo (int nota;); en PHP no: la variable se crea en el momento en que le asignas algo, y el tipo lo decide el valor.

Crear y usar una variable

Anatomía de una asignación

 $nombre = "Ana";
 ^  ^    ^   ^  ^
 |  |    |   |  `-- punto y coma
 |  |    |   `-- el valor que se guarda
 |  |    `-- asignación: guarda lo de la derecha en lo de la izquierda
 |  `-- el nombre de la variable
 `-- el signo $ marca que es una variable
<?php
$nombre = "Ana";
$edad = 20;
$promedio = 5.8;
 
echo "Estudiante: $nombre\n";
echo "Edad: $edad\n";
echo "Promedio: $promedio\n";
Estudiante: Ana
Edad: 20
Promedio: 5.8

Una variable puede cambiar su valor: la nueva asignación reemplaza a la anterior.

<?php
$nota = 4.5;
echo "Primera nota: $nota\n";
 
$nota = 6.2;
echo "Nota corregida: $nota\n";
Primera nota: 4.5
Nota corregida: 6.2

El = no es "igual a"

$nota = 6.2 se lee “guarda 6.2 en $nota”. Para comparar si dos valores son iguales se usa ===, que se ve en Operadores.

Reglas para nombrar

ReglaVálidoInválido
Empieza con $$notanota
Después del $, una letra o _$nota1, $_temp$1nota
Solo letras, números y _$nota_final, $notaFinal$nota-final, $nota final
Distingue mayúsculas$nota y $Nota son dos variables distintas

Incorrecto: nombres que no dicen nada, o con tildes

<?php
$x = "Ana";
$n2 = 6.2;
$año = 2026;

$x y $n2 obligan a adivinar qué guardan. $año funciona, pero la ñ y las tildes causan problemas con algunos teclados y editores: no se usan, igual que en los nombres de archivo.

Correcto: nombres descriptivos, en camelCase

<?php
$nombreEstudiante = "Ana";
$notaFinal = 6.2;
$anioIngreso = 2026;

En el curso usamos camelCase: primera palabra en minúscula y cada palabra siguiente con mayúscula inicial. Lo importante es elegir un estilo y usar el mismo en todo el proyecto.

Ver qué tiene una variable: var_dump

echo muestra el valor, pero no dice de qué tipo es. var_dump() muestra las dos cosas, y es la herramienta principal para revisar qué está pasando.

<?php
$nombre = "Ana";
$edad = 20;
$promedio = 5.8;
$inscrita = true;
$telefono = null;
 
var_dump($nombre);
var_dump($edad);
var_dump($promedio);
var_dump($inscrita);
var_dump($telefono);
string(3) "Ana"
int(20)
float(5.8)
bool(true)
NULL
SalidaSe lee
string(3) "Ana"Texto de 3 caracteres, con valor Ana
int(20)Número entero 20
float(5.8)Número con decimales 5,8
bool(true)Valor lógico verdadero
NULLSin valor

Incorrecto: revisar con echo

<?php
$inscrita = false;
echo $inscrita;

echo false no imprime nada, y echo true imprime 1. No hay forma de saber si la variable es false, "" o null.

Correcto: var_dump cuando dudas

<?php
$inscrita = false;
var_dump($inscrita);
bool(false)

print_r() es parecido a echo pero más legible para los arreglos; se usa en la Parte 5. Para valores simples, var_dump().

var_dump también funciona en el navegador

Si lo usas en una página con php -S, el resultado aparece en la página. Úsalo para revisar y bórralo antes de entregar: un var_dump olvidado en el Trabajo 2 se ve como un error.

Constantes

Una constante es un valor que no cambia durante el programa: el IVA, el nombre del sitio, una nota mínima de aprobación. Se escribe en MAYÚSCULAS y sin $.

<?php
const NOTA_APROBACION = 4.0;
const NOMBRE_SITIO = "Mi sitio";
 
echo NOMBRE_SITIO . "\n";
echo "Se aprueba con " . NOTA_APROBACION . "\n";
Mi sitio
Se aprueba con 4

El 4.0 se imprimió como 4

Al convertir un decimal en texto, PHP no escribe el .0 sobrante. El valor sigue siendo float(4); para mostrarlo con decimales se usa number_format(), que se ve en Cadenas de texto.

Incorrecto: intentar cambiar una constante

<?php
const IVA = 0.19;
IVA = 0.21;
PHP Parse error:  syntax error, unexpected token "=" in /home/ana/prueba.php on line 3

Existe una segunda forma, define("IVA", 0.19);, que hace lo mismo. Usaremos const.

Constantes que ya trae PHP

ConstanteValor
PHP_VERSIONLa versión instalada, por ejemplo 8.3.6
PHP_EOLEl salto de línea del sistema (\n en Linux)
PHP_INT_MAXEl entero más grande: 9223372036854775807
M_PIEl número π: 3.1415926535898

Pruébalo

  • Crea variables.php con cinco variables, una de cada tipo, y revísalas con var_dump()
  • Cambia el valor de una de ellas a mitad del programa e imprímela antes y después
  • Haz echo de una variable false y luego var_dump() de la misma
  • Error provocado: usa $Nombre habiendo creado $nombre y lee el Warning
  • Error provocado: escribe una variable sin $ y lee el mensaje

Errores comunes

SíntomaCausaSolución
Warning: Undefined variable $NombreMayúsculas distintas al crearla y al usarlaUsa exactamente el mismo nombre; PHP distingue mayúsculas
Fatal error: Uncaught Error: Undefined constant "nombre"Escribiste la variable sin $ y PHP la buscó como constanteAgrega el $
syntax error, unexpected token "-"Usaste guion en el nombre: $nota-finalUsa $notaFinal
Se imprime 1 donde esperabas trueecho convierte true en 1 y false en nadaUsa var_dump() para revisar

Checkpoint

Intenta responder antes de desplegar cada pregunta.