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.
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) |
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 |
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.
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.
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:
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.