PHP funksies
Die werklike krag van PHP kom van sy funksies.
PHP het meer as 1000 ingeboude funksies, en daarby kan jy jou eie persoonlike funksies skep.
PHP ingeboude funksies
PHP het meer as 1000 ingeboude funksies wat direk van binne 'n skrip opgeroep kan word om 'n spesifieke taak uit te voer.
Kyk asseblief na ons PHP-verwysing vir 'n volledige oorsig van die PHP-ingeboude funksies .
PHP Gebruiker Gedefinieerde Funksies
Benewens die ingeboude PHP-funksies, is dit moontlik om jou eie funksies te skep.
- 'n Funksie is 'n blok stellings wat herhaaldelik in 'n program gebruik kan word.
- 'n Funksie sal nie outomaties uitgevoer word wanneer 'n bladsy laai nie.
- 'n Funksie sal uitgevoer word deur 'n oproep na die funksie.
Skep 'n gebruikergedefinieerde funksie in PHP
'n Gebruikergedefinieerde funksieverklaring begin met die woord function
:
Sintaksis
function functionName()
{
code to be executed;
}
Let wel: 'n Funksienaam moet met 'n letter of 'n onderstreep begin. Funksiename is NIE hooflettergevoelig nie.
Wenk: Gee die funksie 'n naam wat weerspieël wat die funksie doen!
In die voorbeeld hieronder skep ons 'n funksie genaamd "writeMsg()". Die krulhakie aan die begin ( { ) dui die begin van die funksiekode aan, en die afsluitende krulhakie ( } ) dui die einde van die funksie aan. Die funksie voer "Hallo wêreld!" uit. Om die funksie te roep, skryf net sy naam gevolg deur hakies ():
Voorbeeld
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
?>
PHP-funksie-argumente
Inligting kan deur argumente na funksies deurgegee word. 'n Argument is net soos 'n veranderlike.
Argumente word gespesifiseer na die funksienaam, binne die hakies. Jy kan soveel argumente byvoeg as wat jy wil, skei hulle net met 'n komma.
Die volgende voorbeeld het 'n funksie met een argument ($fname). Wanneer die familyName()-funksie genoem word, gee ons ook 'n naam (bv. Jani) deur, en die naam word binne die funksie gebruik, wat verskeie verskillende voorname uitstuur, maar 'n gelyke van:
Voorbeeld
<?php
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>
Die volgende voorbeeld het 'n funksie met twee argumente ($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 'n losgetikte taal
Let in die voorbeeld hierbo dat ons nie vir PHP hoef te vertel watter datatipe die veranderlike is nie.
PHP assosieer outomaties 'n datatipe aan die veranderlike, afhangende van die waarde daarvan. Aangesien die datatipes nie in 'n streng sin gestel is nie, kan jy dinge doen soos om 'n string by 'n heelgetal te voeg sonder om 'n fout te veroorsaak.
In PHP 7 is tipe verklarings bygevoeg. Dit gee ons 'n opsie om die verwagte datatipe te spesifiseer wanneer 'n funksie verklaar word, en deur die strict
verklaring by te voeg, sal dit 'n "Fatal Error" gooi as die datatipe nie ooreenstem nie.
In die volgende voorbeeld probeer ons om beide 'n nommer en 'n string na die funksie te stuur sonder om 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 spesifiseer strict
, moet ons declare(strict_types=1);
. Dit moet op die heel eerste reël van die PHP-lêer wees.
In die volgende voorbeeld probeer ons om beide 'n nommer en 'n string na die funksie te stuur, maar hier het ons die strict
verklaring bygevoeg:
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
?>
Die strict
verklaring dwing dinge om op die beoogde manier gebruik te word.
PHP verstek argumentwaarde
Die volgende voorbeeld wys hoe om 'n verstekparameter te gebruik. As ons die funksie setHeight() sonder argumente noem, neem dit die verstekwaarde as argument:
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-funksies - Terugkeerwaardes
Om 'n funksie 'n waarde te laat terugstuur, gebruik die return
stelling:
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-opgawe tipe verklarings
PHP 7 ondersteun ook Tipe Verklarings vir die return
stelling. Soos met die tipe verklaring vir funksie argumente, deur die streng vereiste te aktiveer, sal dit 'n "Fatal Error" op 'n tipe mispassing gooi.
Om 'n tipe vir die funksie-terugsending te verklaar, voeg 'n dubbelpunt (
:
) en die tipe reg voor die oop krulhakie ( {
) by wanneer die funksie verklaar word.
In die volgende voorbeeld spesifiseer ons die terugkeer tipe vir die funksie:
Voorbeeld
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
Jy kan 'n ander tipe opgawe as die argumenttipes spesifiseer, maar maak seker dat die opgawe die korrekte tipe 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);
?>
Deur argumente deur verwysing
In PHP word argumente gewoonlik deur waarde deurgegee, wat beteken dat 'n kopie van die waarde in die funksie gebruik word en die veranderlike wat in die funksie deurgegee is, kan nie verander word nie.
Wanneer 'n funksie-argument deur verwysing deurgegee word, verander veranderinge aan die argument ook die veranderlike wat deurgegee is. Om 'n funksie-argument in 'n verwysing te verander, word die &
operateur gebruik:
Voorbeeld
Gebruik 'n verbygaan-verwysingsargument om 'n veranderlike op te dateer:
<?php
function add_five(&$value) {
$value += 5;
}
$num
= 2;
add_five($num);
echo $num;
?>