Inbyggda funktioner

Vi tittar på de kategorier av inbyggda funktioner som finns och vi provkör några av dem.

#Om inbyggda funktioner

Php har ett stort antal inbyggda funktioner som underlättar livet som programmerare. Finns det funktioner så använder man dem istället för att skriva egna. Det är viktigt att lära sig hur man slår upp och letar reda på funktioner. Manualens sökfunktionen hjälper dig på vägen.

Varje funktion har en egen sida i PHP-manualen, du kan till exempel pröva att slå upp några av de funktioner vi använt så här långt, echo() och var_dump(). Läs om dem och studera upplägget för manualsidan. Använda sökfunktionen på manualsidan för att hitta de funktioner du letar efter.

Ibland kan det vara enklast att googla fram en funktion, om du letar efter en funktion som beräknar längden av en sträng så söker du efter “php string length”, det brukar leda rätt in i manualen.

Det finns en stor mängd inbyggda funktioner, det finns funktioner för datum och tid, matematiska funktioner, funktioner för stränghantering, kryptering, funktioner för att hämta information från andra webbplatser, för att komma åt databaser och så vidare.

Låt oss titta på några av dessa kategorier av funktioner.

#Matematiska funktioner

Vi tittar på den matematiska funktionen som beräknar kvadratroten ur ett tal, sqrt(), samt funktionen som skriver ut talet PI, pi().

Så här kan det se ut när vi använder funktionerna.

$pi = pi();
$square = sqrt(2);

echo round($pi, 2), "\n";
echo round($square, 2), "\n";

echo floor($pi), "\n";
echo floor($square), "\n";

echo ceil($pi), "\n";
echo ceil($square), "\n";

Du kan försöka gissa hur utskriften blir av ovan exempelprogram, här kommer facit.

Olika typer av avrundning ingår i de matematiska funktionerna.

Olika typer av avrundning ingår i de matematiska funktionerna.

Kika snabbt på översikten av de matematiska funktionerna för att få en känsla för vilka funktioner som finns tillgängliga.

#Funktioner för datum och tid

Det finns funktioner för datum och tid. Titta till exempel på funktionen date() som hjälper dig att skriva ut dagens datum. Studera även funktionen time() som ger dig antalet sekunder sedan den första januari 1970.

Så här kan du använda funktionerna.

echo "Todays date: ", date('r'), "\n";
echo "Number of seconds since January 1, 1970: ", time(), "\n";

Så här kan det se ut när exemplet körs.

Dagens datum och antalet sekunder sedan starten av 1970.

Dagens datum och antalet sekunder sedan starten av 1970.

Kika på översikten av funktioner för datum och tid för att få en känsla för vilka funktioner som finns tillgängliga.

#Funktioner för stränghantering (hashning)

Vi har redan tittat på inbyggda funktioner för stränghantering. Men vi kan nämna några fler av de inbyggda funktioner som finns för strängar, låt oss fokusera på de som kan användas för kryptering och hashning.

Några av dessa funktioner är str_rot13() och md5().

Låt oss bygga ett exempelprogram som testar dessa tillsammans med några fler liknande funktioner.

$val = "Jag är Mumintrollet.";

echo "Original: ", $val, "\n";
echo "ROT13:    ", str_rot13($val), "\n";
echo "MD5:      ", md5($val), "\n";
echo "SHA1:     ", sha1($val), "\n";

$passwordHash = password_hash($val, PASSWORD_DEFAULT);
echo "password: ", $passwordHash, "\n";
echo "verify:   ", password_verify($val, $passwordHash), "\n";

Den sista varianten med funktionen password_hash() och password_verify() är den variant som rekommenderas när man vill jobba med användares lösenord och skydda inloggning till en webbsida.

Så här ser det ut när exempelprogrammet provkörs.

Hashning med inbyggda strängfunktioner.

Hashning med inbyggda strängfunktioner.

Glöm inte att skriva dina egna små testprogram, det är ett mycket bra sätt att lära sig.

#Revision history

  • 2018-06-28: (A, mos) Första versionen, uppdelad av större dokument.

Document source.