Internal (built-in) functions
Interne (ingebouwde) functies
PHP wordt standaard geleverd met veel functies en constructies. Er zijn ook functies die specifieke PHP-extensies vereisen die gecompileerd zijn, anders zullen fatale "undefined function" fouten verschijnen. Bijvoorbeeld, om functies zoals imagecreatetruecolor te gebruiken, moet PHP gecompileerd zijn met gd ondersteuning. Of, om mysqli_connect te gebruiken, moet PHP gecompileerd zijn met mysqli ondersteuning. Er zijn veel kernfuncties die in elke versie van PHP zijn opgenomen, zoals de phpinfo en get_loaded_extensions functies. Een aanroep naar phpinfo of get_loaded_extensions zal laten zien welke extensies in PHP zijn geladen. Houd er ook rekening mee dat veel extensies standaard zijn ingeschakeld en dat de PHP-handleiding is opgesplitst per extensie. Zie de hoofdstukken over configuration, installation, en individuele extensies voor informatie over hoe je PHP kunt instellen.
Het lezen en begrijpen van de prototype van een functie wordt uitgelegd in de handleiding sectie getiteld how to read a function definition. Het is belangrijk om te beseffen wat een functie retourneert of of een functie direct werkt op een doorgegeven waarde. Bijvoorbeeld, str_replace zal de gewijzigde string retourneren terwijl usort werkt op de daadwerkelijke doorgegeven variabele zelf. Elke handleiding pagina heeft ook specifieke informatie voor elke functie, zoals informatie over functieparameters, gedragsveranderingen, retourwaarden voor zowel succes als falen, en beschikbaarheidsinformatie. Het kennen van deze belangrijke (maar vaak subtiele) verschillen is cruciaal voor het schrijven van correcte PHP-code.
Opmerking: > Als de parameters die aan een functie worden gegeven niet zijn wat het verwacht, zoals het doorgeven van een
arraywaar eenstringwordt verwacht, is de retourwaarde van de functie ongedefinieerd. In dit geval zal het waarschijnlijk null retourneren, maar dit is slechts een conventie en kan niet worden vertrouwd. Vanaf PHP 8.0.0 zou eenTypeErroruitzondering moeten worden gegooid in dit geval.
Opmerking: > Scalar types voor ingebouwde functies zijn standaard nullable in coercive mode. Vanaf PHP 8.1.0 wordt het afgeraden om null door te geven aan een interne functieparameter die niet als nullable is gedeclareerd, en dit genereert een deprecation notice in coercive mode om in lijn te zijn met het gedrag van door de gebruiker gedefinieerde functies, waar scalar types expliciet als nullable moeten worden gemarkeerd.
Voorbeeld: de
strlenfunctie verwacht dat de parameter$stringeen niet-nullable string is. Om historische redenen staat PHP het doorgeven van null voor deze parameter toe in coercive mode, en de parameter wordt impliciet omgezet naar"", wat resulteert in eenstringwaarde. In tegenstelling hiermee wordt eenTypeErrorgegenereerd in strict mode.
<?php
var_dump(strlen(null));
// "Deprecated: Passing null to parameter #1 ($string) of type string is deprecated" as of PHP 8.1.0
// int(0)
var_dump(str_contains("foobar", null));
// "Deprecated: Passing null to parameter #2 ($needle) of type string is deprecated" as of PHP 8.1.0
// bool(true)
?>
function_exists de functie referentie get_extension_funcs dl