Introducción
Cuando empezamos a programar en PHP, lo primero que debemos entender no es todavía cómo crear una aplicación completa, ni cómo conectar con una base de datos, ni cómo hacer un formulario avanzado. Antes de todo eso necesitamos aprender a escribir PHP correctamente.
PHP es un lenguaje que normalmente se ejecuta en el servidor. Eso significa que el navegador no interpreta directamente el código PHP. El navegador pide una página al servidor, el servidor ejecuta el PHP y finalmente devuelve al navegador una respuesta, normalmente HTML. Por eso, aunque nosotros escribamos código PHP, el usuario final normalmente solo recibe el resultado.
En este primer tema vamos a trabajar la base de la sintaxis de PHP: cómo se abre y se cierra un bloque PHP, cómo se escriben instrucciones, cómo se declaran variables, qué tipos de datos básicos existen y cómo podemos mostrar información en pantalla usando herramientas como echo, print, var_dump(), print_r(), printf() o var_export().
La idea no es memorizarlo todo de golpe, sino empezar a leer y escribir código PHP con seguridad.
1. Cómo se escribe código PHP
Un archivo PHP normalmente tiene extensión .php. Dentro de ese archivo podemos escribir HTML normal y, cuando queramos que el servidor ejecute código PHP, debemos abrir un bloque PHP.
La forma estándar de abrir PHP es:
<?php
// Código PHP aquí
?>
La etiqueta de apertura <?php indica al intérprete que a partir de ese punto empieza código PHP. La etiqueta de cierre ?> indica que termina el bloque PHP. La documentación oficial de PHP explica que estas etiquetas sirven para marcar los límites del código PHP que debe ejecutarse dentro del archivo.
Por ejemplo:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Mi primera página PHP</title>
</head>
<body>
<h1>Bienvenido a mi página</h1>
<?php
echo "Este texto lo ha generado PHP";
?>
</body>
</html>
En este ejemplo hay una mezcla de HTML y PHP. El HTML se entrega tal cual al navegador, mientras que la parte PHP se ejecuta en el servidor. El resultado final que verá el navegador será algo parecido a esto:
<h1>Bienvenido a mi página</h1>
Este texto lo ha generado PHP
El navegador no ve el código PHP original. Solo ve el resultado.
2. La etiqueta <?php
La etiqueta correcta y recomendable para abrir PHP es:
<?php
Es importante no confundirla con otras formas antiguas o menos recomendables como:
<?
Esa forma corta puede funcionar en algunos servidores, pero depende de la configuración de PHP. Por eso, para aprender bien y evitar problemas, usaremos siempre <?php.
También existe una etiqueta corta especial para imprimir valores:
<?= $variable ?>
Esta etiqueta equivale a escribir:
<?php echo $variable; ?>
Es decir, estas dos líneas hacen lo mismo:
<p><?= $nombre ?></p>
<p><?php echo $nombre; ?></p>
La etiqueta <?= es una forma abreviada de <?php echo, y PHP la reconoce como una etiqueta de salida corta.
Para un alumno que está empezando, mi recomendación es clara: al principio utiliza siempre <?php echo ... ?>. Cuando ya estés cómodo leyendo código PHP, puedes empezar a usar <?= ... ?> en plantillas HTML porque es más cómodo y limpio.
3. ¿Hay que cerrar siempre PHP con ?>?
En archivos donde mezclamos HTML y PHP, sí es normal cerrar el bloque PHP:
<h1>
<?php echo "Hola mundo"; ?>
</h1>
Pero cuando un archivo contiene solamente PHP, es habitual no cerrar la etiqueta final.
Por ejemplo:
<?php
$nombre = "Laura";
$edad = 25;
echo $nombre;
En este caso no hemos puesto ?> al final. Esto es habitual en archivos PHP puros, especialmente en proyectos profesionales. La razón es sencilla: evita errores provocados por espacios o saltos de línea accidentales después del cierre de PHP.
Para esta primera parte del curso podemos usar ambas formas, pero conviene que el alumno vaya entendiendo esta regla práctica:
Cuando el archivo mezcla HTML y PHP, podemos cerrar PHP.
Cuando el archivo solo contiene PHP, normalmente dejamos el archivo sin cierre final.
4. Las instrucciones en PHP
Una instrucción es una orden que le damos al lenguaje. Por ejemplo:
echo "Hola mundo";
Esta instrucción le dice a PHP que muestre el texto "Hola mundo".
En PHP, la mayoría de instrucciones terminan con punto y coma:
$nombre = "Ana";
$edad = 20;
echo $nombre;
El punto y coma ; es muy importante. Si se nos olvida, PHP normalmente mostrará un error de sintaxis.
Ejemplo incorrecto:
<?php
$nombre = "Ana"
echo $nombre;
El problema está en que falta el punto y coma después de "Ana".
La versión correcta sería:
<?php
$nombre = "Ana";
echo $nombre;
Al principio puede parecer un detalle pequeño, pero muchos errores de principiantes en PHP vienen precisamente de olvidar un ;, una comilla o una llave.
5. Comentarios en PHP
Los comentarios son textos que escribimos dentro del código, pero que PHP no ejecuta. Sirven para explicar algo, dejar notas o desactivar temporalmente una línea.
PHP permite comentarios de una línea:
<?php
// Esto es un comentario de una línea
$nombre = "Carlos"; // También puedo comentar al final de una línea
echo $nombre;
También permite comentarios de varias líneas:
<?php
/*
Este es un comentario
de varias líneas.
PHP no ejecutará nada de lo que haya aquí dentro.
*/
echo "Hola";
Los comentarios deben usarse con cabeza. Un buen comentario no explica lo evidente, sino la intención del código.
Este comentario aporta poco:
<?php
// Creamos una variable nombre
$nombre = "Ana";
Este comentario sí puede ser útil:
<?php
// Guardamos el nombre que se mostrará en la cabecera de la página
$nombre = "Ana";
6. Variables en PHP
Una variable es un espacio donde guardamos un valor. Ese valor puede ser un texto, un número, un verdadero/falso, una lista de datos, etc.
En PHP, todas las variables empiezan con el símbolo $.
<?php
$nombre = "Ana";
$edad = 22;
$precio = 19.99;
$activo = true;
Aquí hemos creado cuatro variables:
$nombre guarda un texto.$edad guarda un número entero.$precio guarda un número decimal.$activo guarda un valor booleano, es decir, verdadero o falso.
La documentación oficial de PHP recoge las variables como una parte fundamental de la referencia del lenguaje.
En PHP no hace falta declarar el tipo de dato al crear una variable. No escribimos esto:
string $nombre = "Ana";
int $edad = 22;
Aunque PHP sí permite usar declaraciones de tipo en funciones y clases, en la creación básica de variables normalmente escribimos directamente:
$nombre = "Ana";
$edad = 22;
PHP detecta el tipo de dato según el valor que le asignamos.
7. Reglas básicas para nombres de variables
Una variable en PHP debe empezar siempre con $.
Después del $, el nombre de la variable debe empezar por una letra o por guion bajo _. No debe empezar por un número.
Correcto:
<?php
$nombre = "Laura";
$_contador = 1;
$precioFinal = 29.99;
$nombre_usuario = "admin";
Incorrecto:
<?php
$1nombre = "Laura";
$precio-final = 29.99;
$nombre usuario = "admin";
También debemos recordar que PHP distingue entre mayúsculas y minúsculas en los nombres de variables.
<?php
$nombre = "Ana";
$Nombre = "Carlos";
echo $nombre;
echo $Nombre;
Aunque se parecen, $nombre y $Nombre son dos variables diferentes.
Esto es importante porque puede provocar errores difíciles de ver:
<?php
$usuario = "antonio";
echo $Usuario;
Aquí hemos creado $usuario, pero luego intentamos mostrar $Usuario. Para PHP son variables distintas. La segunda no tiene valor asignado.
Mi recomendación para alumnos es usar siempre nombres claros y consistentes:
$nombreUsuario = "antonio";
$precioProducto = 15.50;
$estaConectado = true;
Evitar nombres como estos:
$x = "antonio";
$p = 15.50;
$ec = true;
Funcionan, pero son mucho menos claros.
8. Asignar valores a variables
Para guardar un valor en una variable usamos el operador de asignación =.
<?php
$nombre = "Lucía";
Esta línea no significa “nombre es igual a Lucía” en sentido matemático. Significa: guarda el valor "Lucía" dentro de la variable $nombre.
Podemos cambiar el valor de una variable más adelante:
<?php
$nombre = "Lucía";
echo $nombre;
$nombre = "Mario";
echo $nombre;
Primero $nombre vale "Lucía". Después cambia y pasa a valer "Mario".
También podemos crear una variable a partir de otras variables:
<?php
$precio = 100;
$iva = 21;
$precioConIva = $precio + ($precio * $iva / 100);
echo $precioConIva;
En este caso, PHP calcula el precio con IVA y guarda el resultado en $precioConIva.
9. Tipos de datos básicos en PHP
Aunque PHP permite trabajar de forma flexible, es fundamental entender los tipos de datos. Un tipo de dato indica qué clase de valor tenemos entre manos.
No es lo mismo esto:
$edad = 25;
que esto:
$edad = "25";
En el primer caso tenemos un número entero. En el segundo caso tenemos un texto que contiene los caracteres 2 y 5.
PHP tiene varios tipos de datos. En este tema vamos a trabajar los más importantes para empezar: cadenas de texto, enteros, decimales, booleanos, nulos y arrays. PHP incluye en su referencia oficial una sección completa dedicada a los tipos del lenguaje, como booleanos, enteros, números de punto flotante, strings, arrays, objetos, null y otros.
10. Texto o string
Un string es una cadena de texto. Puede contener letras, números, espacios y símbolos.
<?php
$nombre = "Ana";
$ciudad = "Madrid";
$mensaje = "Bienvenido al curso de PHP";
Podemos escribir strings usando comillas dobles:
$nombre = "Ana";
O comillas simples:
$nombre = 'Ana';
Las dos formas sirven, pero tienen una diferencia importante. Con comillas dobles, PHP puede interpretar variables dentro del texto:
<?php
$nombre = "Ana";
echo "Hola $nombre";
Resultado:
Hola Ana
Con comillas simples, PHP no sustituye la variable:
<?php
$nombre = "Ana";
echo 'Hola $nombre';
Resultado:
Hola $nombre
Por eso, si queremos insertar variables directamente dentro de un texto, podemos usar comillas dobles.
También podemos concatenar textos usando el punto .:
<?php
$nombre = "Ana";
echo "Hola " . $nombre;
Resultado:
Hola Ana
La concatenación es muy importante en PHP. El operador . une textos.
Otro ejemplo:
<?php
$nombre = "Carlos";
$edad = 30;
echo "Me llamo " . $nombre . " y tengo " . $edad . " años.";
Resultado:
Me llamo Carlos y tengo 30 años.
11. Números enteros o integer
Un número entero es un número sin decimales.
<?php
$edad = 25;
$stock = 100;
$temperatura = -3;
Podemos hacer operaciones con ellos:
<?php
$unidades = 5;
$precioUnidad = 10;
$total = $unidades * $precioUnidad;
echo $total;
Resultado:
50
Los enteros se usan constantemente en programación: edades, cantidades, identificadores, contadores, posiciones, intentos, puntuaciones, etc.
12. Números decimales o float
Un número decimal en PHP se suele representar como float.
<?php
$precio = 19.99;
$altura = 1.75;
$notaMedia = 8.5;
Es importante recordar que en programación se usa el punto . como separador decimal, no la coma.
Correcto:
$precio = 19.99;
Incorrecto:
$precio = 19,99;
Con decimales también podemos operar:
<?php
$precio = 19.99;
$descuento = 5;
$precioFinal = $precio - $descuento;
echo $precioFinal;
Resultado:
14.99
13. Booleanos o boolean
Un booleano solo puede tener dos valores:
true
false
Se utilizan para representar estados de verdadero o falso.
<?php
$usuarioActivo = true;
$tienePermiso = false;
$productoDisponible = true;
Los booleanos serán fundamentales cuando trabajemos con condiciones.
Por ejemplo:
<?php
$usuarioActivo = true;
if ($usuarioActivo) {
echo "El usuario puede acceder.";
} else {
echo "El usuario no puede acceder.";
}
Aunque todavía no hayamos estudiado en profundidad los if, este ejemplo nos permite ver para qué sirve un booleano. La variable $usuarioActivo representa una decisión: sí o no, verdadero o falso.
14. Valor nulo o null
null representa la ausencia de valor.
<?php
$telefono = null;
No significa que el teléfono sea un texto vacío. No significa que sea cero. Significa que no hay valor.
Esto es diferente:
$telefono = "";
Aquí sí hay un valor: una cadena vacía.
Y esto también es diferente:
$telefono = 0;
Aquí hay un valor numérico: cero.
null se utiliza mucho cuando un dato todavía no existe, cuando no se ha rellenado o cuando queremos indicar expresamente que una variable no tiene contenido.
Ejemplo:
<?php
$segundoApellido = null;
var_dump($segundoApellido);
Resultado aproximado:
NULL
15. Arrays
Un array permite guardar varios valores dentro de una misma variable. Según la documentación oficial, en PHP un array es realmente un mapa ordenado, es decir, una estructura que asocia claves con valores. Esto permite usarlo como lista, diccionario, colección y otras estructuras.
Un array sencillo sería:
<?php
$frutas = ["manzana", "pera", "plátano"];
Podemos acceder a cada elemento usando su posición. En PHP, como en muchos lenguajes, las posiciones empiezan en cero.
<?php
$frutas = ["manzana", "pera", "plátano"];
echo $frutas[0];
echo $frutas[1];
echo $frutas[2];
Resultado:
manzana
pera
plátano
También podemos crear arrays asociativos, donde nosotros indicamos una clave:
<?php
$usuario = [
"nombre" => "Ana",
"email" => "ana@example.com",
"edad" => 28
];
echo $usuario["nombre"];
echo $usuario["email"];
echo $usuario["edad"];
Resultado:
Ana
ana@example.com
28
Los arrays son muy importantes en PHP. Los usaremos más adelante para manejar datos de formularios, resultados de bases de datos, configuraciones, sesiones y muchas otras partes de una aplicación web.
16. Cambios de tipo en PHP
PHP es un lenguaje flexible. Una misma variable puede contener primero un texto y después un número.
<?php
$dato = "Hola";
$dato = 25;
$dato = true;
Esto funciona, pero no siempre es buena idea abusar de ello.
Cuando estamos aprendiendo, conviene que una variable tenga un sentido claro. Si una variable se llama $edad, debería guardar una edad. Si se llama $nombre, debería guardar un nombre. Si se llama $precio, debería guardar un precio.
Código poco claro:
<?php
$dato = "Ana";
$dato = 25;
$dato = true;
Código más claro:
<?php
$nombre = "Ana";
$edad = 25;
$usuarioActivo = true;
La flexibilidad de PHP es cómoda, pero también puede esconder errores. Por eso es importante escribir nombres de variables claros y comprobar los valores mientras programamos.
17. Mostrar información con echo
echo es una de las formas más habituales de mostrar información en PHP.
<?php
echo "Hola mundo";
También podemos mostrar el contenido de una variable:
<?php
$nombre = "Ana";
echo $nombre;
Y podemos combinar texto con variables:
<?php
$nombre = "Ana";
$edad = 22;
echo "Me llamo " . $nombre . " y tengo " . $edad . " años.";
Resultado:
Me llamo Ana y tengo 22 años.
Cuando usamos PHP junto con HTML, echo puede generar etiquetas HTML:
<?php
$titulo = "Curso de PHP";
echo "<h1>" . $titulo . "</h1>";
El navegador recibirá:
<h1>Curso de PHP</h1>
Esto es útil, pero conviene no abusar de grandes bloques HTML dentro de echo, porque el código puede volverse difícil de leer.
Por ejemplo, esto funciona:
<?php
$nombre = "Ana";
echo "<div>";
echo "<h2>Usuario</h2>";
echo "<p>Nombre: " . $nombre . "</p>";
echo "</div>";
Pero muchas veces es más limpio mezclar HTML y PHP de esta manera:
<?php
$nombre = "Ana";
?>
<div>
<h2>Usuario</h2>
<p>Nombre: <?php echo $nombre; ?></p>
</div>
Este segundo estilo suele ser más cómodo cuando estamos creando vistas o plantillas HTML.
18. Mostrar información con print
print es parecido a echo.
<?php
print "Hola mundo";
También puede mostrar variables:
<?php
$nombre = "Carlos";
print $nombre;
En el uso diario, echo es más habitual. Para un alumno que empieza, podemos decir que ambos sirven para mostrar información, pero usaremos principalmente echo.
Ejemplo con print:
<?php
$producto = "Teclado";
$precio = 29.99;
print "El producto " . $producto . " cuesta " . $precio . " euros.";
Resultado:
El producto Teclado cuesta 29.99 euros.
19. var_dump(): ver el valor y el tipo
var_dump() es una herramienta fundamental para aprender y depurar código PHP.
Mientras echo muestra un valor de forma sencilla, var_dump() muestra información más detallada: el tipo de dato y el valor. La documentación oficial indica que var_dump() muestra información estructurada de una o más expresiones, incluyendo su tipo y su valor.
Ejemplo:
<?php
$nombre = "Ana";
$edad = 22;
$precio = 19.99;
$activo = true;
var_dump($nombre);
var_dump($edad);
var_dump($precio);
var_dump($activo);
Resultado aproximado:
string(3) "Ana"
int(22)
float(19.99)
bool(true)
Esto es muy útil para entender qué está pasando realmente.
Por ejemplo, observa este caso:
<?php
$edad = "22";
var_dump($edad);
Resultado:
string(2) "22"
Aunque visualmente parezca un número, PHP nos está diciendo que es un texto de dos caracteres.
Ahora mira este otro:
<?php
$edad = 22;
var_dump($edad);
Resultado:
int(22)
Ahora sí es un número entero.
Esta diferencia será muy importante cuando trabajemos con formularios, porque muchos datos que llegan desde un formulario llegan inicialmente como texto.
20. Usar <pre> con var_dump()
Cuando usamos var_dump() en el navegador, el resultado puede verse poco ordenado, especialmente con arrays.
Ejemplo:
<?php
$usuario = [
"nombre" => "Ana",
"email" => "ana@example.com",
"edad" => 28
];
var_dump($usuario);
Para verlo mejor en el navegador, podemos envolver la salida con la etiqueta HTML <pre>:
<?php
$usuario = [
"nombre" => "Ana",
"email" => "ana@example.com",
"edad" => 28
];
echo "<pre>";
var_dump($usuario);
echo "</pre>";
<pre> hace que el navegador respete los saltos de línea y espacios del texto. Así la salida se lee mucho mejor.
Resultado aproximado:
array(3) {
["nombre"]=>
string(3) "Ana"
["email"]=>
string(15) "ana@example.com"
["edad"]=>
int(28)
}
Este recurso lo usaremos muchísimo durante el aprendizaje.
21. print_r(): ver arrays de forma más simple
print_r() también sirve para inspeccionar variables, especialmente arrays. No muestra tanta información como var_dump(), pero a veces es más fácil de leer.
<?php
$usuario = [
"nombre" => "Ana",
"email" => "ana@example.com",
"edad" => 28
];
echo "<pre>";
print_r($usuario);
echo "</pre>";
Resultado aproximado:
Array
(
[nombre] => Ana
[email] => ana@example.com
[edad] => 28
)
La diferencia principal es que print_r() muestra la estructura de forma más limpia, pero no indica con tanto detalle los tipos de datos.
Comparemos:
<?php
$edad = "22";
echo "<pre>";
print_r($edad);
echo "</pre>";
echo "<pre>";
var_dump($edad);
echo "</pre>";
print_r() mostraría algo parecido a:
22
var_dump() mostraría:
string(2) "22"
Para aprender, var_dump() suele ser mejor porque nos dice el tipo. Para revisar arrays grandes de forma rápida, print_r() puede resultar más cómodo.
22. printf(): salida con formato
printf() permite mostrar texto usando marcadores de posición. Es muy útil cuando queremos construir una frase con valores variables de forma más controlada.
Ejemplo básico:
<?php
$nombre = "Ana";
$edad = 22;
printf("Me llamo %s y tengo %d años.", $nombre, $edad);
Resultado:
Me llamo Ana y tengo 22 años.
Aquí aparecen dos marcadores:
%s se usa para cadenas de texto.%d se usa para números enteros.
También podemos usar %f para números decimales:
<?php
$producto = "Ratón";
$precio = 15.5;
printf("El producto %s cuesta %f euros.", $producto, $precio);
Resultado aproximado:
El producto Ratón cuesta 15.500000 euros.
Como vemos, por defecto puede mostrar demasiados decimales. Podemos controlar cuántos decimales queremos:
<?php
$producto = "Ratón";
$precio = 15.5;
printf("El producto %s cuesta %.2f euros.", $producto, $precio);
Resultado:
El producto Ratón cuesta 15.50 euros.
El marcador %.2f indica que queremos mostrar el número decimal con dos cifras decimales.
Esto es muy útil para precios.
<?php
$precio = 19.9;
$iva = 21;
$total = $precio + ($precio * $iva / 100);
printf("Precio sin IVA: %.2f €<br>", $precio);
printf("IVA aplicado: %d %%<br>", $iva);
printf("Precio final: %.2f €", $total);
Resultado aproximado:
Precio sin IVA: 19.90 €
IVA aplicado: 21 %
Precio final: 24.08 €
Fíjate en este detalle:
%d %%
Para imprimir el símbolo % usando printf(), escribimos %%.
23. sprintf(): guardar el texto formateado en una variable
sprintf() se parece mucho a printf(), pero no muestra directamente el resultado. En lugar de eso, devuelve el texto formateado para que podamos guardarlo en una variable.
<?php
$nombre = "Ana";
$edad = 22;
$mensaje = sprintf("Me llamo %s y tengo %d años.", $nombre, $edad);
echo $mensaje;
Esto puede parecer menos directo, pero es muy útil cuando queremos preparar un mensaje antes de mostrarlo, guardarlo o enviarlo.
Ejemplo:
<?php
$producto = "Teclado";
$precio = 29.991;
$lineaFactura = sprintf("Producto: %s - Precio: %.2f €", $producto, $precio);
echo $lineaFactura;
Resultado:
Producto: Teclado - Precio: 29.99 €
24. var_export(): mostrar una representación válida en PHP
var_export() es otra herramienta de inspección. Se parece a var_dump(), pero tiene una diferencia interesante: genera una representación que se parece mucho a código PHP válido. La documentación oficial explica que var_export() obtiene información estructurada de una variable y que su representación es código PHP válido.
Ejemplo:
<?php
$usuario = [
"nombre" => "Ana",
"email" => "ana@example.com",
"edad" => 28
];
echo "<pre>";
var_export($usuario);
echo "</pre>";
Resultado aproximado:
array (
'nombre' => 'Ana',
'email' => 'ana@example.com',
'edad' => 28,
)
No es una función que necesitemos usar todo el tiempo al empezar, pero conviene conocerla. Puede ser útil cuando queremos ver una estructura de datos en un formato que luego podríamos copiar y reutilizar como código PHP.
25. Diferencia práctica entre echo, var_dump(), print_r() y printf()
La mejor forma de entender estas herramientas es verlas sobre el mismo dato.
<?php
$producto = [
"nombre" => "Monitor",
"precio" => 149.99,
"stock" => 12,
"disponible" => true
];
echo "<h2>Con print_r()</h2>";
echo "<pre>";
print_r($producto);
echo "</pre>";
echo "<h2>Con var_dump()</h2>";
echo "<pre>";
var_dump($producto);
echo "</pre>";
echo "<h2>Con var_export()</h2>";
echo "<pre>";
var_export($producto);
echo "</pre>";
echo "<h2>Con printf()</h2>";
printf(
"El producto %s cuesta %.2f euros y tiene %d unidades en stock.",
$producto["nombre"],
$producto["precio"],
$producto["stock"]
);
Cada herramienta tiene un propósito distinto.
echo sirve para mostrar contenido sencillo.
print_r() sirve para ver estructuras como arrays de forma clara.
var_dump() sirve para ver estructura, valores y tipos de datos.
printf() sirve para construir una salida con formato.
var_export() sirve para ver una representación reutilizable como código PHP.
No hay que elegir una para todo. Lo importante es saber cuándo interesa cada una.
26. Primer ejemplo completo: datos de un alumno
Vamos a construir un ejemplo sencillo que combine variables, tipos de datos y salida por pantalla.
<?php
$nombre = "Lucía";
$apellidos = "García López";
$edad = 21;
$notaMedia = 8.75;
$matriculado = true;
$telefono = null;
echo "<h1>Ficha del alumno</h1>";
echo "<p>Nombre: " . $nombre . "</p>";
echo "<p>Apellidos: " . $apellidos . "</p>";
echo "<p>Edad: " . $edad . "</p>";
printf("<p>Nota media: %.2f</p>", $notaMedia);
echo "<h2>Información de depuración</h2>";
echo "<pre>";
var_dump($nombre);
var_dump($apellidos);
var_dump($edad);
var_dump($notaMedia);
var_dump($matriculado);
var_dump($telefono);
echo "</pre>";
Este ejemplo genera una ficha sencilla en HTML, pero además nos permite inspeccionar los tipos de datos.
Una posible salida visual sería:
Ficha del alumno
Nombre: Lucía
Apellidos: García López
Edad: 21
Nota media: 8.75
Y después aparecería una zona de depuración parecida a:
string(6) "Lucía"
string(13) "García López"
int(21)
float(8.75)
bool(true)
NULL
Este tipo de ejemplo es perfecto para clase, porque permite ver dos cosas a la vez: lo que se muestra al usuario y lo que PHP está manejando internamente.
27. Segundo ejemplo completo: producto de una tienda
Ahora vamos a usar un ejemplo más cercano a una aplicación web real: un producto de una tienda.
<?php
$nombreProducto = "Auriculares Bluetooth";
$categoria = "Sonido";
$precio = 39.99;
$unidadesDisponibles = 15;
$tieneDescuento = true;
$porcentajeDescuento = 10;
$precioFinal = $precio;
if ($tieneDescuento) {
$precioFinal = $precio - ($precio * $porcentajeDescuento / 100);
}
echo "<h1>Detalle del producto</h1>";
echo "<p>Producto: " . $nombreProducto . "</p>";
echo "<p>Categoría: " . $categoria . "</p>";
printf("<p>Precio original: %.2f €</p>", $precio);
if ($tieneDescuento) {
echo "<p>Descuento aplicado: " . $porcentajeDescuento . "%</p>";
}
printf("<p>Precio final: %.2f €</p>", $precioFinal);
echo "<p>Unidades disponibles: " . $unidadesDisponibles . "</p>";
echo "<h2>Depuración</h2>";
echo "<pre>";
var_dump($nombreProducto);
var_dump($categoria);
var_dump($precio);
var_dump($unidadesDisponibles);
var_dump($tieneDescuento);
var_dump($porcentajeDescuento);
var_dump($precioFinal);
echo "</pre>";
Aunque todavía no hayamos estudiado condiciones en profundidad, el ejemplo se entiende bastante bien. Tenemos un producto, un precio, un descuento y un cálculo final.
Este ejemplo también muestra por qué los tipos de datos importan:
$nombreProducto es texto.$precio es decimal.$unidadesDisponibles es entero.$tieneDescuento es booleano.$precioFinal se calcula a partir de otros valores.
28. Errores frecuentes al empezar con PHP
Uno de los errores más comunes es olvidar el punto y coma:
<?php
$nombre = "Ana"
echo $nombre;
La forma correcta es:
<?php
$nombre = "Ana";
echo $nombre;
Otro error muy común es olvidar el símbolo $ delante de una variable:
<?php
nombre = "Ana";
La forma correcta es:
<?php
$nombre = "Ana";
También es frecuente mezclar mal las comillas:
<?php
echo "Hola mundo';
La forma correcta sería:
<?php
echo "Hola mundo";
O también:
<?php
echo 'Hola mundo';
Otro error habitual aparece al concatenar:
<?php
$nombre = "Ana";
echo "Hola " $nombre;
La forma correcta es usar el punto:
<?php
$nombre = "Ana";
echo "Hola " . $nombre;
También podemos usar comillas dobles con la variable dentro:
<?php
$nombre = "Ana";
echo "Hola $nombre";
Pero al principio recomiendo practicar bastante la concatenación con . porque ayuda a entender mejor cómo se construyen las cadenas.
29. Buenas prácticas desde el primer día
Aunque estemos empezando, conviene adquirir buenas costumbres desde el principio.
Una buena práctica es usar nombres de variables descriptivos:
$precioProducto = 29.99;
$nombreUsuario = "ana";
$usuarioActivo = true;
Es peor escribir:
$p = 29.99;
$n = "ana";
$u = true;
Otra buena práctica es separar el código para que se lea bien:
<?php
$precio = 100;
$iva = 21;
$total = $precio + ($precio * $iva / 100);
echo $total;
Es mejor que escribirlo todo apelotonado:
<?php
$precio=100;$iva=21;$total=$precio+($precio*$iva/100);echo $total;
También es buena idea usar var_dump() durante el aprendizaje. No debemos verlo como algo “de novatos”, sino como una herramienta de trabajo. Programar no consiste en adivinar qué está pasando. Programar consiste en comprobarlo.
30. Ejercicio guiado para el alumno
Crea un archivo llamado:
tema1_sintaxis.php
Dentro del archivo, crea una pequeña ficha personal usando variables.
Debe tener los siguientes datos:
Nombre.
Edad.
Ciudad.
Curso.
Nota media.
Si está matriculado o no.
Un dato opcional con valor null, por ejemplo, segundo teléfono.
Después, muestra la información en HTML usando echo y printf().
Finalmente, muestra una zona de depuración usando var_dump().
Una posible solución sería:
<?php
$nombre = "Mario";
$edad = 24;
$ciudad = "Madrid";
$curso = "Programación con PHP";
$notaMedia = 8.25;
$matriculado = true;
$segundoTelefono = null;
echo "<h1>Ficha del estudiante</h1>";
echo "<p>Nombre: " . $nombre . "</p>";
echo "<p>Edad: " . $edad . " años</p>";
echo "<p>Ciudad: " . $ciudad . "</p>";
echo "<p>Curso: " . $curso . "</p>";
printf("<p>Nota media: %.2f</p>", $notaMedia);
echo "<h2>Estado de matrícula</h2>";
if ($matriculado) {
echo "<p>El alumno está matriculado.</p>";
} else {
echo "<p>El alumno no está matriculado.</p>";
}
echo "<h2>Depuración de variables</h2>";
echo "<pre>";
var_dump($nombre);
var_dump($edad);
var_dump($ciudad);
var_dump($curso);
var_dump($notaMedia);
var_dump($matriculado);
var_dump($segundoTelefono);
echo "</pre>";
Este ejercicio es sencillo, pero toca varios puntos importantes: creación de variables, tipos de datos, salida HTML, formato numérico y depuración.
31. Ejercicio propuesto: ficha de producto
Crea un archivo llamado:
producto.php
Define las siguientes variables:
Nombre del producto.
Categoría.
Precio.
Unidades en stock.
Si está disponible o no.
Descuento aplicado.
Después muestra una ficha del producto en HTML.
El precio debe mostrarse con dos decimales usando printf().
Al final, muestra todas las variables con var_dump() dentro de una etiqueta <pre>.
Una posible base sería:
<?php
$nombreProducto = "Teclado mecánico";
$categoria = "Informática";
$precio = 59.95;
$stock = 8;
$disponible = true;
$descuento = 15;
echo "<h1>Producto</h1>";
// Continúa el ejercicio aquí
El objetivo no es solo que funcione. El objetivo es que el código se entienda.
32. Resumen final
En este tema hemos visto la base de la sintaxis de PHP. Ya sabemos que el código PHP se escribe dentro de bloques que empiezan normalmente con <?php. También hemos visto que las instrucciones suelen terminar con punto y coma y que los comentarios nos permiten documentar el código sin que PHP los ejecute.
Hemos aprendido que las variables en PHP empiezan con $ y que pueden guardar diferentes tipos de datos: textos, enteros, decimales, booleanos, valores nulos y arrays. También hemos visto que PHP es flexible con los tipos, pero que precisamente por eso debemos ser ordenados y claros al escribir nuestras variables.
Por último, hemos trabajado varias herramientas de salida. echo nos permite mostrar contenido sencillo. print es parecido, aunque lo usaremos menos. var_dump() nos muestra el tipo y el valor de una variable, lo que lo convierte en una herramienta excelente para aprender y depurar. print_r() resulta cómodo para ver arrays. printf() nos permite mostrar textos con formato, especialmente útil para números y precios. Y var_export() nos ofrece una representación más cercana a código PHP reutilizable.
A partir de aquí ya podemos empezar a escribir pequeños scripts PHP con sentido. Todavía son programas sencillos, pero esta base es imprescindible. Si el alumno domina bien variables, tipos y salida por pantalla, tendrá mucho más fácil entender condiciones, bucles, funciones, formularios y bases de datos en los siguientes temas.






