Variables, tipos de datos y operadores en PHP: guía completa desde cero


En PHP, casi cualquier programa necesita guardar valores, operar con ellos y tomar decisiones a partir de esos datos. Para eso utilizamos variables, tipos de datos y operadores.

Esta guía parte desde cero y explica no solo la sintaxis, sino también qué representa cada concepto y por qué PHP se comporta de determinada manera.

¿Qué es una variable?

Una variable es un nombre que utilizamos para referirnos a un valor durante la ejecución de un programa.

Por ejemplo, en vez de escribir el nombre de una persona muchas veces podemos guardarlo una sola vez:

<?php

$nombre = 'Ana';

echo $nombre;

En este ejemplo:

  • $nombre es la variable;
  • = es el operador de asignación;
  • 'Ana' es el valor almacenado.

¿Por qué las variables comienzan con $?

En PHP todas las variables comienzan con el símbolo $.

$nombre
$edad
$precio
$activo

El símbolo forma parte de la sintaxis del lenguaje y permite identificar rápidamente una variable.

Asignar un valor

El operador = asigna el valor de la derecha a la variable de la izquierda.

$edad = 25;

No significa “es igual a” en el sentido matemático. Significa:

guardá el valor 25 dentro de la variable $edad.

Reglas para nombrar variables

Un nombre de variable:

  • debe comenzar con $;
  • después del símbolo debe comenzar con una letra o guion bajo;
  • puede contener números después del primer carácter;
  • no puede contener espacios;
  • distingue mayúsculas y minúsculas.

Ejemplos válidos:

$nombre
$nombreCompleto
$_usuario
$precio2

Ejemplos incorrectos:

$2precio
$nombre completo

PHP distingue mayúsculas y minúsculas en variables

Estas dos variables son diferentes:

$nombre = 'Ana';
$Nombre = 'Juan';

Por claridad, suele utilizarse camelCase:

$nombreCompleto
$precioFinal
$cantidadProductos

¿Qué es un tipo de dato?

El tipo indica qué clase de información representa un valor.

No es lo mismo guardar:

25
'25'
true
25.50

Aunque algunos valores parezcan similares, PHP puede tratarlos de manera diferente.

Tipos de datos básicos en PHP

String

Un string representa texto.

$nombre = 'Ana';
$ciudad = "Santa Rosa";

Integer

Un int representa números enteros.

$edad = 25;
$cantidad = 10;

Float

Un float representa números con decimales.

$precio = 1250.50;
$altura = 1.78;

Boolean

Un bool solo puede representar verdadero o falso.

$activo = true;
$bloqueado = false;

Los booleanos son fundamentales para condiciones que veremos en la próxima guía.

NULL

null representa ausencia de valor.

$telefono = null;

No significa cero ni una cadena vacía. Significa que la variable no posee actualmente un valor útil.

Array

Un array permite almacenar varios valores dentro de una misma variable.

$colores = ['rojo', 'verde', 'azul'];

Más adelante dedicaremos una guía completa a arrays.

PHP tiene tipado dinámico

En PHP no necesitamos declarar de antemano el tipo de una variable en los casos simples.

$dato = 10;
$dato = 'Ahora soy texto';

La misma variable primero contiene un entero y luego un string.

Esto se conoce como tipado dinámico: el tipo está asociado al valor en tiempo de ejecución.

¿Qué significa que PHP tenga coerción de tipos?

PHP puede convertir automáticamente ciertos valores cuando una operación lo requiere.

$numero = '10';
$resultado = $numero + 5;

echo $resultado;

En este caso PHP puede interpretar el string '10' como número y producir:

15

Esta flexibilidad puede ser útil, pero también producir errores difíciles de detectar. Por eso conviene entender siempre con qué tipos estamos trabajando.

Funciones incorporadas de PHP

PHP incluye una gran cantidad de funciones listas para usar. Estas funciones forman parte del propio lenguaje o de sus extensiones estándar y permiten realizar tareas frecuentes sin tener que programarlas desde cero.

Algunos ejemplos son:

  • var_dump(): permite inspeccionar una variable y ver su tipo y valor;
  • gettype(): devuelve el tipo de dato de una variable;
  • strlen(): obtiene la longitud de un texto;
  • count(): cuenta los elementos de un array;
  • date(): permite trabajar con fechas y formatos de fecha.

Estas son funciones propias de PHP y podemos utilizarlas directamente. Más adelante también veremos cómo crear nuestras propias funciones mediante la palabra clave function.

Podés consultar muchas más funciones y su documentación en el Manual oficial de PHP: referencia de funciones.

var_dump()

var_dump() muestra el tipo y el valor de una variable.

$edad = 25;

var_dump($edad);

El resultado será similar a:

int(25)

Con un string:

$nombre = 'Ana';
var_dump($nombre);

podríamos obtener:

string(3) "Ana"

gettype()

gettype() devuelve el nombre del tipo.

$precio = 1500.50;

echo gettype($precio);

Resultado:

double

En PHP, los valores que normalmente llamamos float pueden aparecer como double en ciertas funciones históricas.

Conversión explícita de tipos

También podemos indicar manualmente el tipo que queremos.

$texto = '25';
$edad = (int) $texto;

Otros casts habituales son:

(int)
(float)
(string)
(bool)
(array)

Strings: comillas simples y dobles

PHP permite escribir strings con comillas simples o dobles.

$nombre = 'Ana';

echo 'Hola $nombre';

Con comillas simples, PHP muestra literalmente:

Hola $nombre

En cambio:

echo "Hola $nombre";

produce:

Hola Ana

Interpolación de variables

La posibilidad de incluir una variable dentro de un string con comillas dobles se llama interpolación.

$nombre = 'Ana';
$edad = 25;

echo "$nombre tiene $edad años";

Concatenación con .

PHP utiliza el punto . para unir strings.

$nombre = 'Ana';

echo 'Hola ' . $nombre;

Resultado:

Hola Ana

Operadores aritméticos

Permiten realizar cálculos.

  • + suma;
  • - resta;
  • * multiplicación;
  • / división;
  • % resto;
  • ** potencia.
$a = 10;
$b = 3;

echo $a + $b;
echo $a - $b;
echo $a * $b;
echo $a / $b;
echo $a % $b;
echo $a ** $b;

El operador módulo %

El operador módulo devuelve el resto de una división.

10 % 3

devuelve:

1

Es muy útil, por ejemplo, para comprobar si un número es par:

$numero = 8;

$resto = $numero % 2;

Si el resto es cero, el número es divisible por 2.

Operadores de asignación

Podemos combinar una operación con la asignación.

$numero = 10;

$numero += 5;

Es equivalente a:

$numero = $numero + 5;

También existen:

+=
-=
*=
/=
%=

Incremento y decremento

$contador = 1;

$contador++;
$contador--;

++ aumenta en uno y -- disminuye en uno.

Operadores de comparación

Los operadores de comparación producen un valor booleano: true o false.

== igualdad flexible

var_dump(10 == '10');

Puede devolver true porque PHP convierte tipos para comparar.

=== igualdad estricta

var_dump(10 === '10');

Devuelve false porque uno es entero y el otro string.

Por qué suele preferirse ===

La comparación estricta exige que coincidan valor y tipo.

Esto evita resultados inesperados producidos por conversiones automáticas.

Otros operadores de comparación

  • !=: distinto;
  • !==: distinto en valor o tipo;
  • >: mayor;
  • <: menor;
  • >=: mayor o igual;
  • <=: menor o igual.

Operador spaceship <=>

El operador <=> compara dos valores y devuelve:

  • -1 si el primero es menor;
  • 0 si son equivalentes;
  • 1 si el primero es mayor.
$resultado = 10  20;

echo $resultado;

Resultado:

-1

Operadores lógicos

Permiten combinar condiciones booleanas.

  • &&: AND;
  • ||: OR;
  • !: NOT.
$mayorDeEdad = true;
$tienePermiso = false;

$puedeEntrar = $mayorDeEdad && $tienePermiso;

El resultado será false porque ambas condiciones deberían ser verdaderas.

Operador ??

El operador de coalescencia nula ?? permite usar un valor alternativo cuando una variable o clave no existe o contiene NULL.

$nombre = null;

echo $nombre ?? 'Sin nombre';

Resultado:

Sin nombre

Más adelante resulta especialmente útil al trabajar con formularios.

Precedencia de operadores

PHP no evalúa todas las operaciones simplemente de izquierda a derecha. Algunos operadores tienen mayor prioridad.

$resultado = 2 + 3 * 4;

El resultado es:

14

porque primero se realiza la multiplicación.

Si queremos cambiar el orden usamos paréntesis:

$resultado = (2 + 3) * 4;

Ahora el resultado es:

20

Ejemplo completo

<?php

$nombre = 'Ana';
$edad = 25;
$precio = 1250.50;
$cantidad = 3;
$activo = true;

$total = $precio * $cantidad;

echo "Cliente: $nombre" . '\n';
echo "Edad: $edad" . '\n';
echo "Total: $total";

En este ejemplo:

  1. creamos variables de distintos tipos;
  2. multiplicamos precio por cantidad;
  3. guardamos el resultado en otra variable;
  4. mostramos los valores mediante echo.

Buenas prácticas iniciales

  • usar nombres descriptivos;
  • evitar variables como $x salvo casos muy simples;
  • preferir comparaciones estrictas cuando corresponda;
  • usar paréntesis cuando una expresión pueda resultar ambigua;
  • comprobar tipos con var_dump() durante el aprendizaje y depuración.

Ejercicios

  1. crear variables para nombre, edad y ciudad y mostrarlas;
  2. calcular el área de un rectángulo;
  3. calcular el total de una compra usando precio y cantidad;
  4. convertir un string numérico a entero;
  5. comparar 10 == '10' y 10 === '10';
  6. comprobar el resto de dividir un número por 2;
  7. usar ?? para mostrar un valor alternativo;
  8. crear una expresión que combine operadores aritméticos y paréntesis.

Qué aprendimos

  • qué es una variable;
  • cómo funciona $;
  • qué son los tipos de datos;
  • strings, enteros, floats, booleanos, NULL y arrays;
  • tipado dinámico y coerción;
  • var_dump() y gettype();
  • concatenación e interpolación;
  • operadores aritméticos;
  • operadores de comparación;
  • operadores lógicos;
  • ??;
  • precedencia de operadores.

¿Qué sigue?

En la próxima guía veremos condicionales en PHP: if, elseif, else, switch y operadores ternarios.

¿Te sirvió esta guía? ☕

Si este contenido te ayudó y querés apoyar a Club Programador, podés colaborar mediante:

☕ Apoyar con Mercado Pago

🌎 Apoyar con PayPal


Descubre más desde Club Programador

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario

Descubre más desde Club Programador

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo