Código Resumen (PHP Básico)¶
Aquí puedes ver el código resumen de lo visto en El Lenguaje PHP (básico) .
Puedes probarlo directamente (copia/pega) en tu entorno o directamente en un intérprete PHP inline (por ejemplo PHP Sandbox )
<?php
// 1. Variables y tipos de datos
// Las variables en PHP comienzan con el signo '$'.
// PHP es un lenguaje de tipado dinámico, lo que significa que no necesitas declarar el tipo de variable.
$entero = 10; // Tipo entero
$decimal = 3.14; // Tipo flotante
$cadena = "Hola, mundo!"; // Tipo cadena
$booleano = true; // Tipo booleano
// Tipo array
$un_array = array(1, 2, 3);
$otro_array = [1, "vaca", 3];
$objeto = new stdClass(); // Tipo objeto
$nulo = null; // Tipo nulo
// 2. Operadores
// Operadores aritméticos
$suma = $entero + 5;
$resta = $entero - 5;
$multiplicacion = $entero * 2;
$division = $entero / 2;
$modulo = $entero % 3;
// Operadores de comparación
$igual = $entero == 10;
$diferente = $entero != 5;
$mayorQue = $entero > 5;
$menorQue = $entero < 15;
$mayorIgual = $entero >= 10;
$menorIgual = $entero <= 10;
// Operadores lógicos
// AND
$y = true && false;
$y = true and false;
// OR
$o = true || false;
$o = true or false;
// NOT
$no = !true;
// 3. Estructuras de control
// Condicional if, else if, else
if ($entero > 5) {
echo "El entero es mayor que 5";
} elseif ($entero == 5) {
echo "El entero es igual a 5";
} else {
echo "El entero es menor que 5";
}
// Bucle for
for ($i = 0; $i < 5; $i++) {
echo "Iteración: " . $i;
}
// Bucle while
$contador = 0;
while ($contador < 5) {
echo "Contador: " . $contador;
$contador++;
}
// Bucle foreach (para arrays)
foreach ($un_array as $valor) {
echo "Valor del arreglo: " . $valor;
}
// Switch
$dia = "lunes";
switch ($dia) {
case "lunes":
echo "Hoy es lunes";
break;
case "martes":
echo "Hoy es martes";
break;
default:
echo "Hoy es otro día";
}
// 4. Funciones
// Definición de una función
function saludar($nombre) {
return "Hola, " . $nombre . "!";
}
// Llamada a la función
$saludo = saludar("Juan");
echo $saludo;
// Funciones con parámetros opcionales
function calcularArea($base, $altura = 10) {
return $base * $altura;
}
$area1 = calcularArea(5); // Usa el valor por defecto de altura (10)
$area2 = calcularArea(5, 20); // Especifica el valor de altura (20)
// Funciones con número variable de argumentos
function sumarNumeros(...$numeros) {
$suma = 0;
foreach ($numeros as $numero) {
$suma += $numero;
}
return $suma;
}
$suma1 = sumarNumeros(1, 2, 3);
$suma2 = sumarNumeros(1, 2, 3, 4, 5);
// 5. Arrays
//Indexados
$colores = array("rojo", "verde", "azul");
echo $colores[0]; // Accede al primer elemento
// Asociativos
$persona = array("nombre" => "Ana", "edad" => 30, "ciudad" => "Madrid");
echo $persona["nombre"]; // Accede al valor por clave
// Multidimensionales
$matriz = array(
array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9)
);
echo $matriz[1][2]; // Accede al elemento en la fila 2, columna 3
// 6. Cadenas
// Concatenación
$nombreCompleto = "Juan" . " " . "Pérez";
echo $nombreCompleto;
// Funciones de cadenas
$longitud = strlen($nombreCompleto);
echo "Longitud: " . $longitud;
$mayusculas = strtoupper($nombreCompleto);
echo "Mayúsculas: " . $mayusculas;
$minusculas = strtolower($nombreCompleto);
echo "Minúsculas: " . $minusculas;
$posicion = strpos($nombreCompleto, "Pérez");
echo "Posición de 'Pérez': " . $posicion;
$reemplazo = str_replace("Juan", "Carlos", $nombreCompleto);
echo "Reemplazo: " . $reemplazo;
//Subcadenas:
$subcadena = substr($nombreCompleto, 5,5); // extrae "perez"
echo "Subcadena: ". $subcadena;
//Eliminar espacios en blanco
$cadenaConEspacios = " Hola Mundo ";
$cadenaTrimmed = trim($cadenaConEspacios); // Elimina espacios al inicio y al final
echo "Cadena Trimmed: ". $cadenaTrimmed;
//Explode y implode.
$listaPalabras = explode(" ", $nombreCompleto); // convierte la cadena en un arreglo de palabras.
print_r($listaPalabras);
$cadenaDeNuevo = implode("-", $listaPalabras); // Convierte el arreglo en una cadena, separadas por "-".
echo "Cadena Implode: ". $cadenaDeNuevo;
// 7. Funciones con arrays
$numeros = array(5, 2, 8, 1, 9);
sort($numeros); // Ordena ascendente
print_r($numeros);
rsort($numeros); // Ordena descendente
print_r($numeros);
$claves = array_keys($persona); // Obtiene las claves del arreglo asociativo
print_r($claves);
$valores = array_values($persona); // Obtiene los valores del arreglo asociativo
print_r($valores);
$existe = in_array(30, $persona); // Verifica si un valor existe en el arreglo
echo "Existe 30 en \$persona: " . ($existe ? "Sí" : "No"); // Ojo al uso de operador condicional especial
// Funciones matemáticas
$numero = 12.56;
echo "Redondeo: " . round($numero); // Redondea al entero más cercano
echo "Valor absoluto: " . abs(-10); // Valor absoluto
echo "Potencia: " . pow(2, 3); // 2 elevado a la 3
// 14. Expresiones regulares
$texto = "Mi número de teléfono es 123-456-7890.";
$patron = "/[0-9]{3}-[0-9]{3}-[0-9]{4}/"; // Patrón para un número de teléfono
if (preg_match($patron, $texto, $coincidencias)) {
echo "Número de teléfono encontrado: " . $coincidencias[0];
} else {
echo "Número de teléfono no encontrado.";
}
// Aquí se usa agrupación entre paréntesis
// preg_match devuelve 1 y además coloca cada grupo en el array matches
// $matches[0] es la cadena completa, y luego viene cada grupo
preg_match('/(a)(b)*(c)/', 'ac', $matches);
print_r($matches)
// Extrae el host del url. Usa como delimitador el caracter @ porque hay caracteres / en la regex
preg_match('@^(?:http://)?([^/]+)@i', "http://www.php.net/index.html", $matches);
// El uso de ?: dentro de un grupo indica que ese no cuenta (ya, es confuso). Es decir el primer grupo
// es el que está en los segundos paréntesis (no en los primeros, porque lleva ?: para indicar que no lo tengan en cuenta. Por eso el grupo 1 es "cualquier texto que no sea /"
$host = $matches[1];
echo preg_match_all('/a/', 'Cuantas as hay en esta cadena');
// Usa \d como sustituto de [0-9] . Aquí se devuelve texto reemplazado
$textoModificado = preg_replace("/\d{3}-\d{3}-\d{4}/", "XXX-XXX-XXXX", $texto);
echo "Texto modificado: " . $textoModificado;
// 15. Funciones genéricas (uso de programación funcional)
// array_map()
function cuadrado($n) {
return $n * $n;
}
$numeros = [1, 2, 3, 4, 5];
// Aplica la función cuadrado a cada elemento de $numeros
$cuadrados = array_map("cuadrado", $numeros);
print_r($cuadrados);
// array_filter()
function pares($n) {
return ($n % 2 == 0);
}
// Filtra los elementos de $numeros que sean pares (pares -> true)
$pares = array_filter($numeros, "pares");
print_r($pares);
// array_reduce()
function sumar($acumulador, $valor) {
return $acumulador + $valor;
}
$suma = array_reduce($numeros, "sumar", 0);
echo "Suma: " . $suma;
%>