några sidor på nätet om PHP programmering

Sök efter  
Börja här Uppgifter Testa dig själv Tips Sidokarta mm. Länkar Sök

Referens parametrar Dynamiska funktioner

1.5 Funktioner

Se även sidan om variablers räckvidd samt functions *

 

Det finns inga procedurer i PHP, bara funktioner. Se nedanstående programexempel:

<?php
    
function utanParam()
    {
        return
"Hej, du hittade mig";
    }    

    function
medEnParam( $invärde )
    {
        return
"Du gav mig " . $invärde;
    }

    function
utanReturVärde( )
    {
        echo
"Ids inte returnera nåt";
        return;
        echo
"detta skrivs aldrig";
    }

    echo
utanParam();
    echo
"<br />";

    
$nånting = medEnParam( 1918 );
    echo
$nånting;
    echo
"<br />";

    
utanReturVärde();
    echo
"<br />";

?>
Listning 1.5.1 - samples/s34.php

Hej, du hittade mig
Du gav mig 1918
Ids inte returnera nåt
Resultat av listning 1.5.1

Funktioner åberopas genom att skriva funktionens namn. Observera att parenteserna måste skrivas ut, även om man inte vill ge funktionen något värde.

Vill funktionen returnera någontin används ordet return. Även om funktionen inte returnerar någonting kan man använda return för att avsluta funktionen. I ovanstående exempel så visas aldrig texten "detta skrivs aldrig", eftersom funktionen redan återvänt.

Defaultvärden

Man kan även ge "defaultvärden" åt en funktion. Se nedan.

<?php
    
# tre parametrar med defaultvärden
    
function valfriaParam( $första = "ETT", $andra = 34, $tredje= 3.5 )
    {
        return
$första . " " . $andra . " " . $tredje;
    }    

    
# använd bara defaulten
    
echo valfriaParam();
    echo
"<br />";

    
# använd defaulten för andra och tredje    
    
echo valfriaParam( "HEPP" );
    echo
"<br />";

    
# använd defaulten för tredje
    
echo valfriaParam( "TEST" , 292 );
    echo
"<br />";

    
# inga default
    
echo valfriaParam( "HÅÅ" , 292 , 3.66 );
    echo
"<br />";

?>
Listning 1.5.2 - samples/s35.php

ETT 34 3.5
HEPP 34 3.5
TEST 292 3.5
HÅÅ 292 3.66
Resultat av listning 1.5.2

Variabelt antal värden

En specialare som PHP lånat från C är funktioner men ett okänt/variabelt antal parametrar. Se nedan:

<?php
    
# variabelt antal variabler
    
function hurMångaSomHelst()
    {
        
# hur många värden har funktionen fått?
        
$antalParametrar = func_num_args();

        
# vilka är de - en array
        
$parameterLista  = func_get_args();

        
# skall summera lite
        
$summa = 0;
        for (
$i = 0; $i < $antalParametrar; $i++ )
        {
            
# samma som $summa = $summa + $parameterLista[$i];
            
$summa += $parameterLista[$i];
        }
        
# returnera summan
        
return $summa;
    }    
    
    
# testar lite olika varianter
    
echo hurMångaSomHelst();
    echo
"<br />";

    echo
hurMångaSomHelst(1,3,5);
    echo
"<br />";


    echo
hurMångaSomHelst(1,2,3,4,5,6,7,8,9,10);
    echo
"<br />";

?>
Listning 1.5.3 - samples/s36.php

0
9
55
Resultat av listning 1.5.3

   Börja härFunktioner