Entendido.

Este sitio utiliza cookies para analizar la navegación. Si continúa navegando se entiende que acepta su uso. Ver más detalles.";

Logo

Aprende Web

Crea y diseña tus sitios en la Web.

Manual de PHP

PHP: imprescindible para crear páginas web de modo profesional


Y ahora tambien aprende a programar en C++ con Aprende Web C++

logo rss RSS. Suscribir canal.

Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net





Sobre ésta página

Ültima modificación: 29-01-2016.

Visitas este mes: 117

Visitas el mes pasado: 42

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:

Curso de PHP
www.programaciónweb.net
Lecciones PHP
WebTaller.com
Manual de PHP
manualdephp.com
Curso de PHP
Aula Fácil.com
Manual de PHP en español
manual-php.com
PHP a fondo
desarrolloweb.com
Manual de PHP
Foros del Web
Manual de PHP
www.php.net
PHP Tutorial
w3schools.com

Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.




16. Resumen(VII)

16.7 Funciones predefinidas II

php

Funciones matemáticas

Las funciones matemáticas nos permiten hacer variaciones y operaciones con los números. Aunque tenemos los operadores que permiten hacer operaciones, hay otra serie de operaciones más complejas que haremos mediante estas funciones.

Constantes matemáticas.

Estas son una serie de números especiales usados por los matemáticos (PI, e, constante de Euler, etc.). En PHP accedemos a ellos mediante una serie de constantes, las constantes matemáticas.

Constantes matemáticas
Constante valor Descripción
M_PI 3.1415926535898 Número pi, relación circunferencia/diámetro.
M_E 2.718281828459 Número e, base de logaritmos naturales.
M_EULER 0.57721566490153 Constante de Euler.
M_SQRT2 1.4142135623731 Raíz cuadrada de 2.
M_SQRT3 1.7320508075689 Raíz cuadrada de 3.
M_SQRTPI 1.7724538509055 Raíz cuadrada del número pi.
M_LOG2E 1.442695040889 Logaritmo en base 2 del número e.
M_LOG10E 0.43429448190325 Logaritmo en base 10 del número e.
M_LN2 0.69314718055995 Logaritmo neperiano (base e) de 2.
M_LN10 2.302585092994 Logaritmo neperiano (base e) de 10.

Funciones de cálculo

Estas funciones permiten hacer ciertas operaciones algo más complejas que las que nos permiten los operadores.

Funciones de cálculo
Nombre Código y explicación
pow() $pot = pow($base,$exp);
Potenciación: Eleva el número indicado en $base (base de la potencia), al número indicado en $exp (exponente).
sqrt() $raiz2 = sqrt($num);
Raíz cuadrada: calcula la raíz cuadrada del número pasado como argumento.
log() $log = log($num,$base);
Logaritmo: Devuelve el resultado del logaritmo para $num (1º argumento). El 2º argumento es opcional, e indica la base del logaritmo. Si no se especifica el logaritmo será en base e (logaritmo natural).
log10() $log10 = log10($num);
Logaritmo en base 10: Devuelve el resultado del logaritmo en base 10 para el argumento pasado.
decbin() $bin = decbin($num);
Conversión a binario: Convierte el número pasado en el argumento en número binario (en base 2).
bindec() $dec = bindec($num);
Conversión a decimal: Función contraria a la anterior. Le pasamos un número binario en el argumento y lo convierte a decimal.
decoct() $oct = decoct($num);
Conversión a octal: Convierte el número pasado en el argumento en número octal (en base 8).
dechex() $hex = dechex($num);
Conversión a hexadecimal: Convierte el número pasado en el argumento en número hexadecimal (en base 16).
base_convert() $num2 = base_convert($num,$base1,$base2);
Conversión de una base a otra: Convierte el $num (1º argumento), e una base a otra. La $base1 (2º argumento) indica la base inicial en la que esta $num, y $base2 es la bse a la que se convierte. Las bases deben ser números entre el 2 y el 36 (ambos inclusive). En bases mayores de 10 se usarán las letras minúsculas del alfabeto.
max() $maximo = max($array);
Máximo valor: Devuelve el valor más alto de todos los que se le pasan en una lista, ésta puede estar en forma de array o pasar los números directamente como varios argumentos.
min() $minimo = min($array);
Mínimo valor: Devuelve el valor más bajo de todos los pasados en una lista, éstos pueden pasarse en forma de array o pasarlos directamente como varios argumentos.

Redondeo y valor absoluto

Las siguientes funciones modifican el número que se les pasa para redondearlo o mostrar su valor absoluto.

Funciones de redondeo y valor absoluto
Nombre Código y explicación
abs() $num2 = abs($num);
Valor absoluto: devuelve el valor absoluto del número pasado como argumento, siempre positivo, sin tener en cuenta el signo.
round() $num2 = round($num,$precision);
Redondeo: Redondea el $num (1º argumento) al entero más cercano. El 2º argumento ($precision) es opcional, e indica el número de decimales en el redondeo. Si es negativo se redondeará a entero convirtiendo las últimas cifras en ceros.
ceil() $num2 = ceil($num);
Redondeo al alza: Redondea el número pasado en el argumento al siguiente entero inmediatamente superior.
floor() $num2 = floor($num);
Redondeo a la baja: Redondea el número pasado en el argumento al número entero inmediatamente inferior.
number_format() $num2 = number_format($num,$decimales,"sep_decimal","sep_miles")
Formato de números: Define cómo se presentará el número en pantalla, podemos poner 1, 2, o 4 argumentos, (pero no 3).
Con un argumento el número se mostrará tal cual.
Con dos argumentos, el 2º indica el número de decimales que debe mostrarse.
En el 3º y 4º argumento escribiremos los signos que deben mostrarse para separar los decimales (en 3º argumento) y para separar los grupos de miles (4º argumento).

Generar un número aleatorio.
Funciones para crear número aleatorio
Nombre Código y explicación
rand() $num = rand($min,$max)
Número aleatorio: Genera un número entero aleatorio comprendido entre los números pasados en el 1º argumento $min (mínimo) y el 2º $max (máximo). Si no pasamos argumentos los límites estarán entre 0 y RAND_MAX (en Windows es 32768).
mt_rand() $num = mt_rand($min,$max);
Número aleatorio: Esta función funciona exactamente igual que la anterior, pero tiene la ventaja de que genera los números 4 veces más rápido.

Funciones trigonométricas

Las funciones trigonométricas son aquellas que relacionan la circunferencia con el radio, o los lados de un triángulo rectángulo con sus ángulos.

Los ángulos pueden medirse en grados o en radianes, sin embargo PHP sólo trabaja con radianes. Es por esto que ponemos también las funciones de conversión entre grados y radianes.

Funciones Trigonométricas
Nombre Código y explicación
deg2rad() $rad = deg2rad($grados);
Conversión grados a radianes: Convierte el número pasado en el argumento a radianes.
rad2deg() $grados = rad2deg($rad);
Conversión radianes a grados: Convierte el número pasado en el argumento a grados.
sin() $num = sin($rad);
Seno: Calcula el seno del ángulo pasado en el argumento.
cos() $num = cos($rad);
Coseno: Calcula el coseno del ángulo pasado en el argumento.
tan() $num = tan($rad);
Tangente: Calcula la tangente del ángulo pasado en el argumento.
asin() $rad = asin($num);
Arco-seno: Calcula el arco-seno del número pasado en el argumento.
acos() $rad = acos($num);
Arco-coseno: Calcula el arco-coseno del número pasado en el argumento.
atan() $rad = atan($num);
Arco-tangente: Calcula el arco-tangente del número pasado en el argumento.

Fechas

Funciones básicas.

La marca de tiempo Unix

La marca de tiempo Unix o tiempo Unix es la manera que tienen los ordenadores de medir el tiempo. Esta consiste en un número que indica los segundos transcurridos desde el 1 de enero de 1970 a las 0h. 0m. 0s. hora GTM.

De esta manera a cada fecha le corresponde un número. Las fechas anteriores dan un número negativo.

time();

La función time() nos devuelve la marca de tiempo Unix de la fecha actual (en el momento de cargarse la página). Toma la hora local del ordenador del usuario. Esta función no tiene argumentos:

$fecha_actual = time();

mktime($hora,$min,$seg,$mes,$dia,$ano);

Esta función devuelve la marca de tiempo Unix para una fecha concreta. La fecha la pasamos en los argumentos de la función en el siguiente orden: hora, minuto, segundo, mes, día, año. Los argumentos se escribirán con números. La función tiene en cuenta la hora local.

gmmktime($hora,$min,$seg,$mes,$dia,$ano);

Esta función es igual que la anterior, pero nos devuelve la fecha en horario GTM (internacional o del meridiano de Greenwich).

Formato de fechas

Hasta ahora obtenemos las fechas en tiempo Unix, pero lo que nos interesa es poder mostrarla en distintos formatos más normales. Usamos para ello la función date().

$fecha = date($formato,$tiempo_Unix);

En el segundo argumento pondremos el tiempo Unix de la fecha que queremos dar formato. Si no se pone este argumento se toma la fecha actual.

El primer argumento es el formato que le daremos a la fecha, este consiste en una serie de letras que indican los elementos a mostrar (día, mes, hora, etc.). Entre estas letras podemos poner otros elementos como guiones, comas, espacios en blanco, etc, que formarán parte de la fecha. Por ejemplo para la fecha actual pondremos:

echo date("d-m-Y // h:i:s");

Lo cual lo veremos así: 19-02-2017 // 04:35:07

Los distintos caracteres que podemos poner para definir los elementos de la fecha en el formato los vemos en la siguiente tabla:

Elementos del formato de fecha:
Carácter Descripción Valores devueltos
Día ------- -------
d Día del mes. 2 dígitos, con 0 inicial 01 a 31
j Día del mes sin 0 inicial 1 a 31
Semana ------- -------
D Día de la semana abreviado (inglés, 3 letras) Mon a Sun
l (ele minúscula) Día de la semana completo (inglés) Sunday a Saturday
N Número del día de la semana 1 (lun) a 7 (dom)
w Número del día de la semana 0 (dom) a 6 (sáb)
W Semanas transcurridas del año 1 a 52 ó 53
Mes ------- -------
m Número de mes con 0 inicial 01 a 12
n Número de mes sin 0 inicial 1 a 12
F Mes (texto en inglés) January a December
M Mes abreviado. Tres letras (en inglés) Jan a Dec
t Días que tiene el mes. 28 a 31
año ------- -------
Y Año en 4 dígitos Ej.: 1990 ó 2003
y Año en 2 dígitos Ej.: 90 ó 03
L Indica si el año es bisiesto 1 (sí), 0 (no)
Hora, min, seg. ------- -------
g Hora de 1 a 12 con 0 inicial 00 a 12
h Hora de 1 a 12 sin 0 inicial 1 a 12
G Hora de 0 a 23 con 0 inicial 00 a 23
H Hora de 0 a 23 sin 0 inicial 0 a 23
a Ante meridiano o Post meridiano. Minúsculas. am ó pm
A Ante meridiano o Post meridiano. Mayúsculas. AM ó PM
i Minuto con 0 inicial 00 a 59
s Segundo con 0 inicial 00 a 59
Fecha completa ------- -------
c Fecha en formato ISO 8601 Ej.: 2005-03-12T15:19:21+00:00
r Fecha en formato RFC 2822 Ej: Thu, 21 Dec 2000 16:01:07 +0200
Otros --- ---
e Identifica zona horaria Ej.: Europe/Paris
I (i mayúscula) Indica si estamos en horario de verano. 1 = sí, 0 = no
P Diferencia con la hora GTM (Greenwich) indica horas y minutos. Ej: +02:00
Z Diferencia con la zona horaria en segundos. -43200 a 43200
U Tiempo Unix de la fecha dada igual que en mktime()

Fecha en idioma local

En el formato anterior se nos muestran los días de la semana y los meses en inglés. Sin embargo nosotros queremos mostrar la fecha en nuestro idioma local. Para ello utilizamos en principio la siguiente función para indicar cuál es la información que debe tratarse en idioma local:

setlocale($categoría,$localización);

En el primer argumento se indica el tipo de información que debe tratarse de forma local. Para la fecha pondremos: CL_Time.

En el segundo argumento pondremos en una cadena el código del país o región. Si se pone una cadena vacía. "" se utilizará el código del país donde esté el servidor:

setlocale(CL_Time,"");

Esta función afecta también a las demás páginas del sitio, por lo que las demás páginas se verán afectadas también por esta función.

El problema está cuando el servidor donde tenemos la página está alojado en otro país. En ese caso debemos definir el código del país o región donde estamos. Este código puede ser diferente en distintos servidores, por lo que lo mejor es poner una lista de los posibles códigos separados por comas. Para España la función se definirá así:

setlocale(LC_TIME,"esp,sp,spa,es,spanish");

Además es posible que nuestro servidor tenga diferente zona horaria que nosotros, por lo que utilizaremos esta función para ponerla en horario español:

date_default_timezone_set("Europe/Madrid");

En el argumento pondremos la zona horaria de donde estamos.

Si estamos en otro país que no sea España, podemos consultar la lista de códigos de países en la página http://www.loc.gov/standards/iso639-2/php/code_list.php.

También podemos consultar la lista de zonas horarias en http://es.php.net/timezones

Después utilizaremos la siguiente función para mostrar la fecha en formato local:

strftime($formato,$tiempo_Unix);

La función es similar a date() por lo que como 2º argumento pondremos el tiempo Unix de la fecha. Si no lo ponemos nos dará la fecha actual.

El primer argumento indica el formato, que se escribe de forma parecida a date(), sólo que los elementos son diferentes. Estos son los siguientes.

Elementos para formato de fecha local
Carácter Descripción Valores devueltos
Día -------- --------
%d Día del mes con 0 inicial 01 a 31
%e
%#d en windows
Día del mes sin 0 inicial. 1 a 31
Semana -------- --------
%A Día completo de la semana. Lunes a domingo
%a Dia abreviado de la semana lun a dom
%w Día de la semana en número. 0 (Domingo) a 6 (Lunes)
%U Semana del año: la semana empieza en domingo. 1 a 53
%W Semana del año: la semana empieza en lunes. 1 a 53
Mes -------- --------
%B Nombre completo del mes. Enero a Diciembre
%b Nombre abreviado del mes. ene a dic
%m Mes en número con 0 inicial. 01 a 12
Año -------- --------
%C Dos primeros dígitos del año Ej.: 20 (para 2010)
%y Dos últimos dígitos del año. 13 (para 2013)
%Y Año completo con lo cuatro dígitos. 2010
Hora min. y seg. -------- --------
%H Hora en formato 00 a 23. 00 a 23
%k Hora en formato 0 a 23. (un dígito para menor de 10) 0 a 23
%I Hora en formato 01 a 12. 01 a 12
%l ("L" minúscula) Hora en formato 1 a 12. 1 a 12
%M Minuto en formato 00 a 59. 00 a 59
%S Segundo en formato 00 a 59. 00 a 59
Otros -------- --------
%x Fecha preferida, sin la hora. ej: como "%d/%m/%Y"
%X Hora preferida, sin la fecha. ej: como "%H:%M:%S"
%c Fecha y hora completa, preferida. ej: "%d/%m/%Y H:%M:%S"
%Z Zona horaria local. Ej: Europe/Madrid.

Otras funciones

Cambiar el tipo de variable

Las siguientes funciones fuerzan a la variable pasada en el argumento a cambiar de tipo de variable.

Funciones de cambio de variable
Nombre Código y explicación
floatval() $var2 = floatval($var);
Devuelve la variable pasada como argumento transformada en número real.
intval() $var2 = intval($var);
Devuelve la variable pasada como argumento transformada en número entero.
strval() $var2 = strval($var);
Devuelve la variable pasada como argumento transformada en cadena de texto.
settype() $vr2 = settype($var,"tipo")
Devuelve la variable pasada en el 1º argumento transformada al tipo indicado en el 2º argumento. Los valores admitidos en el 2º argumento son los siguientes: "integer", "double", "string", "array", "object".

Comprobar el tipo de variable.

Las siguientes funciones comprueban si la variable es del tipo indicado:

Funciones de comprobación del tipo de variable
Nombre Código y explicación
is_int() $respuesta = is_int($var);
Comprueba si la variable pasada en el argumento es un número entero. Devuelve verdadero (1) o falso ("");
is_float() $respuesta = is_float($var);
Comprueba si la variable pasada en el argumento es un número real. Devuelve verdadero (1) o falso ("");
is_string() $respuesta = is_string($var);
Comprueba si la variable pasada en el argumento es una cadena de texto. Devuelve verdadero (1) o falso ("");
is_array() $respuesta = is_array($var);
Comprueba si la variable pasada en el argumento es un array. Devuelve verdadero (1) o falso ("");
is_object() $respuesta = is_object($var);
Comprueba si la variable pasada en el argumento es un objeto. Devuelve verdadero (1) o falso ("");
gettype(); $respuesta = gettype($var);
Dependiendo del tipo de variable que pasamos en el argumento devuelve una de las siguientes cadenas de texto: "integer" (entero), "double" (decimal), "string" (cadena), "array" (array), "object" (objeto), "unknown type" (tipo desconocido)

Más funciones de variables:

isset()

$respuesta = isset($var);

Comprueba si la variable existe. Si es así devuelve verdadero (1), y si no devuelve falso ("");

unset()

unset($var);

Elimina la variable pasada en el argumento.

La función eval()

Esta función convierte el valor de una variable en código PHP. Normalmente son variables de cadena donde se guarda el código. Ejemplo:

$a="echo 'hola mundo';";eval($a);

Redireccionar páginas

Si queremos que cuando el usuario entre en una página, esta nos redireccione a otra utilizaremos la siguiente función:

header("Location:ruta_página");

En donde ruta_pagina será la dirección a donde se redirecciona. El script donde esté esta función debemos ponerlo al principio de la página, incluso antes que la etiqueta !DOCTYPE.

Obtener la URL actual

A veces puede interesarnos obtener los datos del servidor donde estamos alojados. Lo hacemos mediante el siguiente array interno de PHP:

$_SERVER['HTTP_HOST']; : devuelve el dominio actual

$_SERVER['SERVER_PORT']; : devuelve el puerto actual

$_SERVER['REQUEST_URI']; : devuelve la uri actual




En el siguiente tema veremos cómo podemos utilizar las variables en ditintas páginas de un mismo sitio.

Cookies y Sesiones



manual de PHP

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com