Variabele functies

Ook functies kun je variabel aanroepen. Bekijk de volgende code eens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
    function huis()
    {

        echo 'dit is een huis';
    }
        
    function
boom()
    {

        echo 'dit is een boom';
    }

        
    $var = 'boom';
    $var();
?>

Dit geeft als uitkomst:

dit is een boom

wat is hier gebeurd? Bekijk de code eens. Eerst staan er twee simpele functies. Vervolgens wordt er een variabele gemaakt met de doelfunctie, in dit geval wil je boom aanroepen. En dan komt het: echo $var(); . in eerste instantie zou je zeggen dat dat niet kan, een functie kan toch niet met $ beginnen?

We bekijken eens wat php doet: voordat php een statement uitvoert, vervangt deze eerst alle variabelen door hun inhoud, dan pas wordt het statement echt uitgevoerd. Hier: eerst wordt $var() vervangen door boom(), en dan wordt boom() geechot. En boom is een gewone functie, dus dit wordt als functie uitgevoerd.

We gaan het wat moeilijker maken. Dit keer voegen we attributen toe, en gebruiken we een return:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
    function huis($omgeving)
    {

        $omschrijving = 'dit is een huis, en dat staat in de ' . $omgeving;
        return $omschrijving;
    }
        
    function
boom($omgeving)
    {

        $omschrijving = 'dit is een boom, en dat staat in het ' . $omgeving;
        return $omschrijving;
    }

        
    $var = 'huis';
    $omgeving = 'stad';
    $resultaat = $var($omgeving);
    echo $resultaat;
?>

En dat geeft als uitkomst:

dit is een huis, en dat staat in de stad

dit werkt precies zoals functies normaal werken. het resultaat wordt opgeslagen in $resultaat, en dan kun je doet met $resultaat wat je wilt, in dit geval echoen.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Variabele variabelen
  3. Een voorbeeld
  4. Variabele variabelen - deel 2
  5. Variabele functies
  6. Nawoord

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.