10. Funcions matemàtiques i de data i hora

Índex

 

Funcions

El PHP disposa d'una sèrie de funcions predeterminades (de les quals ja n'hem vist algunes), que realitzen comeses molt diverses:

Hi ha, a més, les anomenades funcions d'usuari, que són conjunts d'instruccions agrupades i que es poden executar en llocs diferents.

En aquest capítol analitzem algunes funcions de tipus matemàtic i de temps.

 

Constants matemàtiques

Algunes constants matemàtiques poden ésser representades mitjançant símbols especials:

M_E Valor d'e (2,718...)
M_PI
pi()
Valor d'π (3,1416...)
(de les dues formes, indistintament)

 

Funcions matemàtiques

Les principals funcions són les següents:

Potències i logaritmes pow(x,y) x elevat a la potència y
exp(n) e elevat a la potència n
log(n) logaritme natural d'n
log10(n) logaritme decimal d'n
Mesura d'angles rad2deg(n) Valor en graus de l'angle d'n radians
deg2rad(n) Valor en radians de l'angle de n graus
Trigonometria
(angles en radians)
sin(n) sinus d'n
cos(n) cosinus d'n
tan(n) tangent d'n
asin(n) arc el sinus del qual és n
acos(n) arc el cossinus del qual és n
atan(n) arc la tangent del qual és n
Manipulació de valors abs(n) Valor absolut d'n
round(n) Arrodoniment d'n per proximitat
ceil(n) Arrodoniment d'n per excès
floor(n) Arrodoniment d'n per defecte



Vegeu-ne el resultat

 

Validació de dades numèriques

En moltes ocasions cal assegurar el caràcter numèric d'una dada subministrada. Això s'aconsegueix amb la funció is_numeric():

Aquesta funció retorna els valors true o false.

 

Funcions que retornen dates

El temps transcorregut entre les 00:00:00 GMT de l'1 de gener de 1970 i un altre moment qualsevol s'anomena marca de temps Unix.

La funció time() subministra el valor marca de temps Unix del moment en què s'aplica.

La funció mktime() subministra la marca de temps Unix de qualsevol moment, les dades del qual cal donar subministrant els paràmetres següents: hora, minut, segon, mes, dia, any.

La funció date() transforma dades de marca de temps Unix en diversos formats d'indicació de data i hora. S'hi fan servir dos paràmetres, el primer de format i el segon és la dada marca de temps Unix. Si s'omet el darrer, s'entén el moment actual. Els principals paràmetres de format són els següents:

D dia de la setmana amb tres
lletres (anglès)
w dia de la setmana en nombres
(0 = diumenge; 1 = dilluns...)
d dia del mes j dia del mes amb una sola xifra si és possible
m mes n mes amb una sola xifra si és possible
Y any
H hora (0-23)
i minut
s segon
F any bixest (1)
any no bixest (0)

Entre els arguments es poden afegir els caràcters '-', '/', ':' i '.', que seran reproduïts directament. Tot el conjunt va entre cometes.

Els valors dels dies de la setmana comencen per 0 i es poden fer servir com índex d'un vector que contingui els noms dels dies; els altres valors numèrics, no.

La funció date() té l'inconvenient que retorna el valor del temps local del servidor; més interessant és la funció gmdate(), que fa servir el Temps Universal UTC.


Vegeu-ne el resultat

 

Captació de dades de data

Quan un conjunt de dades numèriques es converteixen en una determinació temporal, cal comprovar-ne la coherència, per evitar enunciats impossibles (31 de juny, 29 de febrer de 2007...). La funció checkdate(mes,dia,any) - noteu l'ordre mes, dia, any - ho fa possible:

 

Nombres aleatoris

Es poden generar nombres enters aleatoris mitjançant la funció rand(a,b), en què a i b són el nombre inferior i el nombre superior de l'interval dins el qual ha de quedar compresos el nombres generats.


Vegeu-ne el resultat