Hoja de Trucos de PHP
Última actualización
Hola Mundo y etiquetas
El código PHP vive dentro de las etiquetas <?php ... ?>; todo lo que está fuera se envía como salida en texto plano.
| Operación | Sintaxis |
|---|---|
| Abrir / cerrar PHP | <?php ... ?> |
| Imprimir texto | echo "Hello, World!"; |
| Imprimir con formato | printf("%d items", $n); |
| Echo corto (en HTML) | <?= $name ?> |
| Comentario de una línea | // comment o # comment |
| Comentario de bloque | /* comment */ |
| Terminador de sentencia | ; |
| Ejecutar un archivo (CLI) | php index.php |
Variables y tipos
Las variables empiezan con $ y son de tipado dinámico.
| Operación | Sintaxis |
|---|---|
| Declarar una variable | $name = "Ada"; |
| Constante | const PI = 3.14; o define("PI", 3.14); |
| Tipos escalares | int, float, string, bool |
| Null | $x = null; |
| Comprobar el tipo | gettype($x), is_int($x), is_array($x) |
| Convertir un tipo | (int) $str, (string) $num |
| La variable existe / está definida | isset($x), empty($x) |
| Interpolación de cadenas | echo "Hi $name"; |
Cadenas
Las comillas dobles interpolan variables; las comillas simples son literales.
| Operación | Sintaxis |
|---|---|
| Concatenar | $a . $b |
| Longitud | strlen($s) |
| Mayúsculas / minúsculas | strtoupper($s), strtolower($s) |
| Subcadena | substr($s, 0, 5) |
| Encontrar posición | strpos($s, "x") |
| Reemplazar | str_replace("a", "b", $s) |
| Dividir en un array | explode(",", $csv) |
| Unir un array | implode(",", $arr) |
| Quitar espacios | trim($s) |
| Dar formato a una cadena | sprintf("%05.2f", $n) |
Arrays (incl. asociativos)
Un único tipo de array cubre tanto listas indexadas como mapas clave-valor.
| Operación | Sintaxis |
|---|---|
| Array indexado | $nums = [1, 2, 3]; |
| Array asociativo | $user = ["name" => "Ada", "age" => 30]; |
| Acceder a un elemento | $nums[0], $user["name"] |
| Añadir | $nums[] = 4; |
| Establecer una clave | $user["role"] = "admin"; |
| Longitud | count($nums) |
| Comprobar una clave | isset($user["name"]), array_key_exists("name", $user) |
| Eliminar un elemento | unset($nums[1]); |
| Combinar arrays | array_merge($a, $b) |
| Iterar clave => valor | foreach ($user as $k => $v) { ... } |
Control de flujo
Los condicionales y los bucles siguen una sintaxis de estilo C.
| Operación | Sintaxis |
|---|---|
| If / elseif / else | if ($x > 0) { ... } elseif (...) { ... } else { ... } |
| Ternario | $y = $x > 0 ? "pos" : "neg"; |
| Fusión de nulos | $name = $_GET["name"] ?? "guest"; |
| Switch | switch ($day) { case 1: ...; break; default: ... } |
| Bucle for | for ($i = 0; $i < 10; $i++) { ... } |
| Bucle while | while ($x < 100) { ... } |
| Foreach | foreach ($items as $item) { ... } |
| Expresión match | $r = match($x) { 1 => "one", default => "?" }; |
| Break / continue | break;, continue; |
Funciones
Las funciones pueden declarar tipos, valores por defecto y parámetros variádicos.
| Operación | Sintaxis |
|---|---|
| Función básica | function add($a, $b) { return $a + $b; } |
| Parámetros y retorno tipados | function add(int $a, int $b): int { ... } |
| Valor por defecto | function greet($name = "guest") { ... } |
| Parámetros variádicos | function sum(...$nums) { ... } |
| Paso por referencia | function inc(&$x) { $x++; } |
| Función anónima | $f = function($x) { return $x * 2; }; |
| Función flecha | $f = fn($x) => $x * 2; |
| Usar una variable externa | function() use ($n) { ... } |
Superglobales
Arrays integrados disponibles en todos los ámbitos, en su mayoría para datos de la solicitud.
| Superglobal | Qué contiene |
|---|---|
$_GET | Parámetros de la cadena de consulta de la URL |
$_POST | Datos de formulario enviados por POST |
$_REQUEST | Combinación de $_GET, $_POST y $_COOKIE |
$_SESSION | Datos de sesión por usuario (tras session_start()) |
$_COOKIE | Cookies enviadas por el navegador |
$_SERVER | Información del servidor y de la solicitud (REQUEST_METHOD, etc.) |
$_FILES | Metadatos de los archivos subidos |
$_ENV | Variables de entorno |
Funciones de array comunes
PHP incluye cientos de ayudantes para arrays; estos son los más usados.
| Función | Qué hace |
|---|---|
array_map($fn, $arr) | Transforma cada elemento |
array_filter($arr, $fn) | Conserva los elementos donde el callback es verdadero |
array_reduce($arr, $fn, $init) | Pliega a un solo valor |
in_array($v, $arr) | Comprueba si un valor está presente |
array_keys($arr) / array_values($arr) | Obtiene las claves o los valores |
sort($arr) / rsort($arr) | Ordena en el sitio (asc / desc) |
usort($arr, $cmp) | Ordena con un comparador personalizado |
array_slice($arr, 1, 3) | Extrae una porción |
array_push($arr, $v) / array_pop($arr) | Añade / quita del final |
Clases y POO
PHP admite clases, herencia, interfaces y modificadores de visibilidad.
| Operación | Sintaxis |
|---|---|
| Definir una clase | class User { ... } |
| Propiedad con visibilidad | public string $name; |
| Constructor | function __construct($name) { $this->name = $name; } |
| Promoción de constructor | function __construct(public string $name) {} |
| Crear una instancia | $u = new User("Ada"); |
| Acceder a un miembro | $u->name, $u->save() |
| Miembro estático | User::$count, User::create() |
| Herencia | class Admin extends User { ... } |
| Interfaz | interface Saveable { public function save(); } |
| Implementar una interfaz | class User implements Saveable { ... } |
La sintaxis de PHP que más usas, en una sola página. Esta hoja de trucos de PHP es una referencia rápida para el núcleo del lenguaje: variables y tipos, cadenas, arrays (incluidos los arrays asociativos), control de flujo, funciones, las superglobales como $_GET y $_POST, y las clases.
Todo lo que hay aquí es PHP estándar que se ejecuta en las versiones modernas. Copia lo que necesites o prueba cada fragmento en vivo en el playground de PHP, sin configurar ningún servidor.
Preguntas frecuentes sobre la hoja de trucos de PHP
¿Esta hoja de trucos de PHP es gratis?
¿Cuál es la diferencia entre == y === en PHP?
== es la comparación flexible: convierte los operandos a un tipo común antes de comparar, así que 0 == "0" e incluso 0 == "" pueden comportarse de forma sorprendente según la versión. === es la comparación estricta: devuelve verdadero solo cuando los valores son iguales y del mismo tipo, así que 0 === "0" es falso. Prefiere === para evitar errores por malabares de tipos.¿Qué son los arrays asociativos en PHP?
["name" => "Ada", "age" => 30]. PHP tiene un único tipo de array que funciona a la vez como lista ordenada y como mapa clave-valor, así que accedes a los valores por clave con $user["name"] e iteras con foreach ($user as $key => $value).