PHP- functies
De echte kracht van PHP zit in zijn functies.
PHP heeft meer dan 1000 ingebouwde functies en daarnaast kun je je eigen aangepaste functies maken.
Ingebouwde PHP-functies
PHP heeft meer dan 1000 ingebouwde functies die rechtstreeks vanuit een script kunnen worden aangeroepen om een specifieke taak uit te voeren.
Bekijk onze PHP-referentie voor een compleet overzicht van de ingebouwde PHP-functies .
Door de gebruiker gedefinieerde functies van PHP
Naast de ingebouwde PHP-functies is het mogelijk om je eigen functies te creëren.
- Een functie is een blok met instructies die herhaaldelijk in een programma kunnen worden gebruikt.
- Een functie wordt niet automatisch uitgevoerd wanneer een pagina wordt geladen.
- Een functie wordt uitgevoerd door een aanroep van de functie.
Een door de gebruiker gedefinieerde functie maken in PHP
Een door de gebruiker gedefinieerde functiedeclaratie begint met het woord function
:
Syntaxis
function functionName()
{
code to be executed;
}
Let op: Een functienaam moet beginnen met een letter of een onderstrepingsteken. Functienamen zijn NIET hoofdlettergevoelig.
Tip: Geef de functie een naam die weerspiegelt wat de functie doet!
In het onderstaande voorbeeld maken we een functie met de naam "writeMsg()". De accolade openen ( { ) geeft het begin van de functiecode aan, en de accolade sluiten ( } ) geeft het einde van de functie aan. De functie geeft "Hallo wereld!" weer. Om de functie aan te roepen, schrijft u gewoon de naam gevolgd door haakjes ():
Voorbeeld
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
?>
PHP-functieargumenten
Via argumenten kan informatie aan functies worden doorgegeven. Een argument is net als een variabele.
Argumenten worden opgegeven achter de functienaam, tussen haakjes. Je kunt zoveel argumenten toevoegen als je wilt, scheid ze gewoon met een komma.
Het volgende voorbeeld heeft een functie met één argument ($fname). Wanneer de functie familyName() wordt aangeroepen, geven we ook een naam door (bijv. Jani), en de naam wordt gebruikt in de functie, die verschillende voornamen oplevert, maar een gelijke achternaam:
Voorbeeld
<?php
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>
Het volgende voorbeeld heeft een functie met twee argumenten ($fname en $year):
Voorbeeld
<?php
function familyName($fname, $year) {
echo "$fname Refsnes. Born in $year <br>";
}
familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>
PHP is een losjes getypte taal
Merk in het bovenstaande voorbeeld op dat we PHP niet hoefden te vertellen welk datatype de variabele is.
PHP koppelt automatisch een gegevenstype aan de variabele, afhankelijk van de waarde. Aangezien de gegevenstypen niet strikt zijn ingesteld, kunt u dingen doen zoals het toevoegen van een tekenreeks aan een geheel getal zonder een fout te veroorzaken.
In PHP 7 zijn typeverklaringen toegevoegd. Dit geeft ons een optie om het verwachte gegevenstype op te geven bij het declareren van een functie, en door de strict
verklaring toe te voegen, wordt een "Fatal Error" gegenereerd als het gegevenstype niet overeenkomt.
In het volgende voorbeeld proberen we zowel een getal als een string naar de functie te sturen zonder strict
:
Voorbeeld
<?php
function addNumbers(int $a, int $b) {
return $a
+ $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is
changed to int(5), and it will return 10
?>
Om te specificeren strict
moeten we instellen declare(strict_types=1);
. Dit moet op de allereerste regel van het PHP-bestand staan.
In het volgende voorbeeld proberen we zowel een getal als een string naar de functie te sturen, maar hier hebben we de strict
declaratie toegevoegd:
Voorbeeld
<?php declare(strict_types=1); // strict requirement
function
addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5
days");
// since strict is enabled and "5 days" is not an integer, an
error will be thrown
?>
De strict
verklaring dwingt dingen te gebruiken op de beoogde manier.
PHP-standaardargumentwaarde
In het volgende voorbeeld ziet u hoe u een standaardparameter gebruikt. Als we de functie setHeight() aanroepen zonder argumenten, wordt de standaardwaarde als argument gebruikt:
Voorbeeld
<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>
PHP-functies - Terugkerende waarden
Gebruik de return
instructie om een functie een waarde te laten retourneren:
Voorbeeld
<?php declare(strict_types=1); // strict requirement
function sum(int $x,
int $y) {
$z = $x + $y;
return $z;
}
echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>
PHP-retourtypeverklaringen
PHP 7 ondersteunt ook Type Declarations voor de return
instructie. Net als bij de typedeclaratie voor functieargumenten, wordt door het inschakelen van de strikte vereiste een "Fatal Error" op een type-mismatch gegenereerd.
Om een type voor de functie return te declareren, voegt u een dubbele punt (
:
) en het type toe vlak voor de krulle- ( {
) openingshaakje bij het declareren van de functie.
In het volgende voorbeeld specificeren we het retourtype voor de functie:
Voorbeeld
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
U kunt een ander retourtype specificeren dan de argumenttypes, maar zorg ervoor dat het rendement het juiste type is:
Voorbeeld
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>
Argumenten doorgeven op basis van referentie
In PHP worden argumenten meestal op waarde doorgegeven, wat betekent dat een kopie van de waarde in de functie wordt gebruikt en dat de variabele die aan de functie is doorgegeven niet kan worden gewijzigd.
Wanneer een functieargument door verwijzing wordt doorgegeven, veranderen wijzigingen aan het argument ook de variabele die werd doorgegeven. Om een functieargument in een verwijzing te veranderen, wordt de &
operator gebruikt:
Voorbeeld
Gebruik een pass-by-referentieargument om een variabele bij te werken:
<?php
function add_five(&$value) {
$value += 5;
}
$num
= 2;
add_five($num);
echo $num;
?>