# 6.5 Dag Functie

In deze les gaan wee nog een paar functies maken. Houd daarbij rekening met de vorige les waarin is beschreven dat functies generiek dienen te zijn.

### Opgave 1

Maak een functie die aan de hand van een nummer een dag van de week terug geeft.

```
dagNaam( int $dagNummer ) : string 
```

De functie krijgt een getal mee en maakt daar een weekdag (string) van, bijvoorbeeld:

```
echo dagNaam(1) // dit drukt ma af (maandag)
echo dagNaam(2) // dit drukt di af (dinsdag)
echo dagNaam(3) // dit drukt wo af (woensdag)
..
echo dagNaam(7) // dit drukt zo af (zondag)
```

Dus afhankelijk van het nummer dat je als parameter meegeeft aan de functie wordt de return waarde ma, di, wo ,do, vr, za of zo.

Denk ook aan fout-afvang (punt 4 vorige les).

### Opgave 2

Maak een functie die aan de hand van een string een dagnummer terug geeft. Dit is dus eigenlijk het omgekeerde van de vorige functie.

```
dagNummer( string $dagNaam ) : int 
```

De functie krijgt een dagnaam mee (ma, di, wo, do, vr, za of zo) en maakt daar een dag nummer van.

Bijvoorbeeld:

```
echo dagNummer("ma") // dit drukt 1 af
echo dagNummer("di") // dit drukt 2 af
..
echo dagNummer("zo") // dit drukt 7 af
```

Denk ook aan fout-afvang (punt 4 vorige les).

### Opgave 3

Zorg dat je beide functies van opgave 1 en 2 hebt en voeg deze code toe.

```
$nummer=rand(1,7);

echo $nummer;
echo "<br>";
echo dagNummer(dagNaam($nummer);
```

Wat kun je zeggen over de variabele $nummer en het getal wat wordt afgedrukt op regel 5?

Wat gebeurt er, leg in je eigen woorden uit wat deze code doet.

### Opgave 4

Maak een functie die bepaald wat het morgen is.

```
morgen(string $vandaag) : string
```

De functie krijg een dag mee (ma, di, wo, do, vr, za, zo) en bepaald dan wat het morgen is. De output is weer een string. Bijvoorbeeld:

```
$dag=morgen("do");
echo $dag         // er wordt vr afgedrukt.
echo morgen($dag) // er wordt za afgedrukt ($dag is immers vr)
```

### Opgave 5

We gaan de functie uit opgave 4 generieker maken. Stel dat je bijvoorbeeld niet morgen maar overmorgen wil bepalen, of de dag na overmorgen.

We gaan de functie welkeDag maken:

```
welkeDag( string $dag, int $erbij) : string
```

De functie krijgt weer een dag mee (ma, di, wo, do ,vr, za, zo) en de tweede parameter $erbij geeft aan hoeveel dagen je erbij wilt tellen. Voor morgen moet $erbij dus 1 zijn. De return waarde is weer een dag (ma, di, wo, do, vr, za, zo).

Voorbeeld:

```
echo welkeDag("ma", 1) // dit drukt di af omdat di 1 dag na ma is.
echo welkeDag("di", 2)  // dit drukt do af omdat do 2 dagen na di is.
eche welkeDag("zo", 2) // dit drukt di af omdat di 2 dagen zo is.
```

\--