Funciones predefinidas
Contents
Funciones predefinidas#

Funciones más usadas en PHP 7.4
Índice
Información del servidor#
En un archivo vacío se guarda la siguiente función:
1<?php
2 phpinfo();
3?>
Manipulación de variables#
Averiguar tipo de dato#
1<?php
2 $cadena = "Soy una cadena de texto";
3
4 echo gettype($cadena);
5?>
Validación#
1<?php
2 // variable definida:
3 $gatos = "";
4
5 // guarda el valor 1 (true) si ha sido definida la variable:
6 $definida = isset($gatos);
7 echo $definida;
8
9 echo "<br>";
10
11 // uso como validador:
12 $comprobar = isset($gatos) ? "Existen gatos en el código" : "No existen gatos en el código";
13 echo $comprobar;
14?>
Destrucción#
1<?php
2 $gatos = "";
3
4 // destruir la variable gatos:
5 unset($gatos);
6
7 $comprobar = isset($gatos) ? "Existen gatos en el código" : "No existen gatos en el código";
8 echo $comprobar;
9?>
Manipulación de Strings#
Longitud de un String#
1<?php
2 $consola = "Nintendo DS";
3 echo strlen($consola);
4?>
Conversión a String#
1<?php
2 $lanzamiento = 2005;
3 $fechaLanzamiento = "Lanzamiento en " . (String)$lanzamiento;
4 echo $fechaLanzamiento
5?>
Conversión String a Array#
1<?php
2 $string_consolas = "Nintendo DS, Nintendo 64, Super Nintendo";
3 $array_consolas = explode(", ", $string_consolas);
4 var_dump($array_consolas);
5?>
Reemplazar palabras#
1<?php
2 $descripcion = "La Nintendo Mega Drive es la mejor consola de Nintendo hasta la fecha";
3 echo str_replace("Nintendo", "Sega", $descripcion);
4?>
Primera letra mayúscula#
1<?php
2 $descripcion = "La Nintendo Mega Drive es la mejor consola de Nintendo hasta la fecha";
3
4 // Primera palabra con letra mayúscula:
5 echo ucfirst($descripcion);
6 echo "<br>";
7
8 // todas las palabras con letra mayúscula:
9 echo ucwords($descripcion);
10?>
Conversión a mayúsculas#
1<?php
2 $descripcion = strtoupper("La Nintendo Mega Drive es la mejor consola de Nintendo hasta la fecha");
3 echo $descripcion;
4?>
Conversión a minúsculas#
1<?php
2 $descripcion = "La Nintendo Mega Drive es la mejor consola de Nintendo hasta la fecha";
3 echo strtolower($descripcion);
4?>
Eliminar espacios en blanco a los lados#
1<?php
2 $texto = " soy un texto con espacios ";
3 echo trim($texto);
4?>
Localizar posición de caracteres en cadena#
1<?php
2 $frase = "En esta frase se esconde el nombre Pepe";
3
4 if(strpos($frase, "Pepe") == true){
5 echo "Hemos encontrado a Pepe!";
6 }
7?>
Manipulación de Números#
Conversión String a Integer#
1<?php
2 $numeroCadena = "173";
3 $suma = (int)$numeroCadena + 50;
4 echo "el resultado es: " . $suma;
5?>
Conversión String a Float#
1<?php
2 $numeroCadena = "17.27";
3 $suma = (float)$numeroCadena + 50;
4 echo "el resultado es: " . $suma;
5?>
Redondeo de decimales#
1<?php
2 $numeroDecimal = 23.783728;
3
4 // Redondeo a entero:
5 echo round($numeroDecimal);
6
7 echo "<br>";
8
9 // Redondeo a decimal:
10 echo round($numeroDecimal, 4); // segundo parámetro define cantidad de dígitos a devolver
11?>
Manipulación de Arrays#
Imprimir contenido#
1<?php
2 $fabricantes = ["Nintendo", "Sega", "Sony", "Microsoft"];
3
4 // Imprimir contenido de una variable y el formato:
5 var_dump($fabricantes);
6
7 // Imprimir con un formato más legible:
8 echo "<pre>";
9 print_r($fabricantes);
10 echo "</pre>";
11?>
Añadir elemento al array#
1<?php
2 // tenemos un array:
3 $consolasSony = ["PlayStation", "PlayStation 2", "PlayStation 3"];
4
5 print_r($consolasSony);
6
7 // utilizamos la siguiente función en la cual el primer parámetro es el array anterior y los siguientes los elementos que se añaden:
8 array_push($consolasSony, "PlayStation 4", "PlayStation 5");
9
10 print_r($consolasSony);
11?>
Rango de números#
1<?php
2 // guardar un rango de números:
3 $rango = range(0, 20);
4 var_dump($rango);
5
6 // uso en bucles:
7 foreach(range(0, 10) as $numero){
8 echo $numero . "<br />";
9 }
10?>
Recuperar valor máximo#
1<?php
2 $fechas = [1932, 1930, 1959, 1092, 1209];
3
4 echo "El año mas reciente es: " . max($fechas);
5?>
Recuperar valor mínimo#
1<?php
2 $fechas = [1932, 1930, 1959, 1092, 1209];
3
4 echo "El año mas antiguo es: " . min($fechas);
5?>
Suma total de todos los valores#
1<?php
2 $carro = [20.85, 10.40, 19.94, 12, 9];
3
4 echo "El total de la compra es: " . array_sum($carro) . "€";
5?>
Manipulación JSON#
Convertir Array en JSON#
1<?php
2 // Array a convertir:
3 $videoconsolas = array(
4 "megadrive" => [
5 "lanzamiento" => 1988,
6 "fabricante" => "Sega"
7 ],
8 "snes" => [
9 "lanzamiento" => 1990,
10 "fabricante" => "Nintendo"
11 ],
12 "playstation" => [
13 "lanzamiento" => 1994,
14 "fabricante" => "Sony"
15 ]
16 );
17
18 // Imprmir array codificado en formato JSON:
19 echo json_encode($videoconsolas);
20?>
Convertir JSON en Array#
1<?php
2 // Se realiza una llamada con CURL:
3 $curl = curl_init("http://api.plos.org/search?q=title:DNA");
4 // La siguiente función prepara el formato de almacenamiento en String:
5 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
6 // Se ejecuta la operación y se guarda en una variable::
7 $response = curl_exec($curl);
8 // Pasamos a la codificación en JSON:
9 $data = json_decode($response);
10 // Validar la salida desde metadatos:
11 $info = curl_getinfo($curl);
12
13
14
15 // Se ejecuta la respuesta si el resultado es correcto:
16 if($info['http_code'] == 200 ){
17 // ver el contenido de la variable:
18 echo "<pre>";
19 print_r($data);
20 echo "</pre>";
21 }else{
22 echo "Error", curl_error($curl);
23 }
24
25?>
Atención
Para poder trabajar con curl hay que instalar la dependencia sudo apt install php7.4-curl
Manipulación de fechas#
1<?php
2 // devolver un valor:
3 echo "Hoy es día " . date('d') . " de " . date('m') . " de " . date('Y');
4
5 echo "<br>";
6 // devolver fecha formateada:
7 echo "Son las: " . date('H:m');
8?>
Códigos comunes para Fecha:
Tipo de valor |
símbolo |
---|---|
Día en notación numeral |
d |
Día por inicial |
D |
Día de la semana |
l |
Dias transcurridos desde comienzos de año |
z |
Dias que tiene el mes corriente |
t |
Semanas transcurridas desde comienzos de año |
W |
Mes actual en notación numeral |
m |
Mes actual en notación numeral sin cero |
n |
Iniciales del mes corriente |
M |
Año corriente en notación numeral |
Y |
Año con notación numeral abreviada |
y |
Año bisiesto (devuelve 1 si es bisiesto) |
L |
Fecha en formato ISO-8601 |
c |
Códigos comunes para Hora:
Tipo de valor |
símbolo |
---|---|
Ver si la hora es AM o PM |
a |
Ver si la hora es AM o PM en mayúsculas |
A |
Hora en formato 12 |
g |
Hora en formato 24 |
G |
Hora en formato 12 con 0 inicial |
h |
Hora en formato 24 con 0 inicial |
H |
Minutos |
i |
Segundos |
s |
Microsegundos |
u |
Zona Horaria |
e |
Horario de sol reducido |
I |
Desfase meridiano de Greenwitch |
O |
Hora formato Swatch Internet Time |
B |
Hora formato UNIX |
U |
Atención
Los valores textualizados de las fechas están en inglés
Tratamiento de archivos#
Recuperar contenido de archivo#
1<?php
2 $foto = file_get_contents('foto.jpg');
3 echo $foto;
4?>
Manipulación de archivos#
Escritura de archivos:
1<?php
2 $ip = $_SERVER['REMOTE_ADDR'];
3 $navegador = $_SERVER['HTTP_USER_AGENT'];
4 $contenido = date('U') . " - Fecha: " . date('Y/m/d - H:i:s') . " - Navegador: " . $navegador . " - IP: " . $ip ."\n";
5
6 // establecemos el nombre de archivo que vamos a editar:
7 $archivoLogs = 'logs.dat';
8 // abrimos con permisos de creación extras:
9 $manejador = fopen($archivoLogs, 'w+');
10 // escribimos los cambios:
11 fwrite($manejador,$contenido);
12?>
Lectura de archivos:
1<?php
2 $archivoLogs = 'logs.dat';
3 // abrimos el archivo con permisos de lectura:
4 $manejador = fopen($archivoLogs, 'r');
5
6 // establecemos la condición con fgetcsv() de manera que los dividirá:
7 while($datos = fgetcsv($manejador,1000000, "-")){
8 echo "<pre>";
9 print_r($datos);
10 echo "</pre>";
11 }
12 fclose($manejador);
13?>
Actualización de archivos:
1<?php
2 $ip = $_SERVER['REMOTE_ADDR'];
3 $navegador = $_SERVER['HTTP_USER_AGENT'];
4 $contenido = date('U') . " - Fecha: " . date('Y/m/d - H:i:s') . " - Navegador: " . $navegador . " - IP: " . $ip ."\n";
5
6 // establecemos el nombre de archivo que vamos a editar:
7 $archivoLogs = 'logs.dat';
8 // abrimos con permisos de actualizacion extras:
9 $manejador = fopen($archivoLogs, 'a+');
10 // escribimos los cambios:
11 fwrite($manejador,$contenido);
12?>
Manipulación de cabeceras#
Redirección#
1<?php
2 header('Location: https://www.prueba.com');
3?>
Modificar el comportamiento de un script#
1<?php
2 // indica al navegador que el script php es una imagen.
3 header('Content-type: image/jpg');
4
5 $foto = file_get_contents('foto.jpg');
6 echo $foto;
7?>
Lista de MIMES más comunes: https://developer.mozilla.org/es/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
Descargar un archivo desde un script#
1<?php
2 header('Content-type: image/jpg');
3 // se define la disposición y el nombre que tendrá al ser descargado:
4 header('Content-disposition: attachment; filename="descarga.jpg"');
5
6 $foto = file_get_contents('foto.jpg');
7?>
Tratamiento de CORS#
1<?php
2 // Origen: *: todos | www.codigo.com: una url | null: bloquea cualquier origen excepto el mismo servidor:
3 header('Access-Control-Allow-Origin: *');
4 // Cabeceras permitidas separadas por comas:
5 header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
6 // Métodos permitidos separados por comas:
7 header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
8
9 echo "<h1>Sitio de prueba</h1>";
10?>