π Sintaxis básica
<?php
echo "Hola mundo";
?>
<?= $variable ?> // Mostrar valor directamente
π¦ Variables y tipos
$nombre = "Antonio"; // string
$edad = 30; // int
$precio = 19.95; // float
$activo = true; // bool
$datos = null; // null
echo $nombre;
echo $edad;
var_dump($datos); // Ver tipo y valor
π Condicionales
if ($edad >= 18) {
echo "Mayor de edad";
} elseif ($edad >= 13) {
echo "Adolescente";
} else {
echo "Menor";
}
if ($activo) {
echo "Activo";
}
π Bucles
for ($i = 0; $i < 10; $i++) {
echo $i;
}
while ($condicion) {
// código
}
foreach ($usuarios as $usuario) {
echo $usuario;
}
foreach ($usuarios as $id => $usuario) {
echo "$id: $usuario";
}
π Arrays
$frutas = ["manzana", "pera", "naranja"];
$usuario = [
"nombre" => "Antonio",
"edad" => 30
];
echo $frutas[0];
echo $usuario["nombre"];
$frutas[] = "plátano"; // Añadir elemento
count($frutas); // Número de elementos
π§© Funciones
function saludar($nombre) {
return "Hola " . $nombre;
}
echo saludar("Antonio");
function sumar(int $a, int $b): int {
return $a + $b;
}
π Strings
$nombre = "Antonio";
echo "Hola " . $nombre;
echo "Hola $nombre";
strlen($nombre); // Longitud
strtolower($nombre); // Minúsculas
strtoupper($nombre); // Mayúsculas
trim($nombre); // Quitar espacios
str_replace("a", "A", $nombre);
$partes = explode(",", "uno,dos,tres");
π Fechas
echo date("Y-m-d");
echo date("d/m/Y H:i:s");
$fecha = new DateTime("2026-09-10");
echo $fecha->format("d/m/Y");
$ahora = new DateTime();
$ahora->modify("+7 days");
π₯ Formularios
$_GET["nombre"] ?? "";
$_POST["nombre"] ?? "";
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$nombre = $_POST["nombre"] ?? "";
echo htmlspecialchars($nombre);
}
π Archivos
file_exists("archivo.txt");
file_get_contents("archivo.txt");
file_put_contents(
"archivo.txt",
"Hola mundo"
);
$file = fopen("archivo.txt", "r");
fclose($file);
π Include / Require
include "config.php";
require "config.php";
include_once "funciones.php";
require_once "funciones.php";
ποΈ MySQL con PDO
$pdo = new PDO(
"mysql:host=localhost;dbname=mi_db;charset=utf8mb4",
"usuario",
"password",
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]
);
$stmt = $pdo->prepare(
"SELECT * FROM usuarios WHERE id = ?"
);
$stmt->execute([$id]);
$usuario = $stmt->fetch(PDO::FETCH_ASSOC);
π HTTP / JSON
header("Content-Type: application/json");
echo json_encode([
"ok" => true,
"mensaje" => "Hola"
]);
$datos = json_decode($json, true);
π§± Clases y objetos
class Usuario {
public string $nombre;
public function __construct(string $nombre) {
$this->nombre = $nombre;
}
public function saludar(): string {
return "Hola " . $this->nombre;
}
}
$usuario = new Usuario("Antonio");
echo $usuario->saludar();
π‘οΈ Excepciones
try {
// código que puede fallar
throw new Exception("Ha ocurrido un error");
} catch (Exception $e) {
echo $e->getMessage();
} finally {
// Se ejecuta siempre
}
π§ Operadores útiles
$a === $b; // Igual y mismo tipo
$a !== $b; // Distinto
$a && $b; // AND
$a || $b; // OR
!$a; // NOT
$nombre ?? "Invitado"; // Si es null, usa valor alternativo
$edad >= 18 ? "Sí" : "No"; // Operador ternario
π¦ Composer
composer install # Instalar dependencias
composer update # Actualizar dependencias
composer require paquete # Añadir paquete
composer remove paquete # Eliminar paquete
composer dump-autoload # Regenerar autoload
π Depuración
var_dump($variable);
print_r($array);
error_log("Mensaje de depuración");
ini_set("display_errors", 1);
error_reporting(E_ALL);
β‘ Chuleta rápida
<?php
$variable = "valor";
if ($condicion) {
// código
}
foreach ($array as $item) {
// código
}
function miFuncion($dato) {
return $dato;
}
$stmt = $pdo->prepare("SELECT * FROM tabla WHERE id = ?");
$stmt->execute([$id]);
echo json_encode($datos);
?>
Tip: Para PHP del día a día, céntrate primero en variables, arrays, condicionales, bucles, funciones, formularios, PDO, sesiones, JSON y clases. Para proyectos reales, usa
PDOcon consultas preparadas y evita concatenar directamente datos recibidos del usuario en SQL.