# 7 Opdracht

*In deze les gaan we stof herhalen. We gaan met functies werken en je leert onderdelen die je later later nodig hebt voor de eindopdracht.*

### Opgave 1

We hebben een functie die het volgende doet. De functie krijgt drie waarden en returned de som van de drie getallen (dus de twee input variabelen opgeteld).

<table border="1" id="bkmrk-input-output-mijnfun" style="border-collapse: collapse; width: 100%; height: 176.8px;"><tbody><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px; background-color: #c2e0f4;">**Input**  
</td><td style="width: 50.0412%; height: 29.4667px; background-color: #c2e0f4;">**Output**  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(3,2,1)  
</td><td style="width: 50.0412%; height: 29.4667px;">6  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(1,12,3)</td><td style="width: 50.0412%; height: 29.4667px;">16  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(0,4,0)</td><td style="width: 50.0412%; height: 29.4667px;">4  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(7,0,3)</td><td style="width: 50.0412%; height: 29.4667px;">10  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(0,0,0)</td><td style="width: 50.0412%; height: 29.4667px;">0  
</td></tr></tbody></table>

Maak een functie die dit doet.

En test met alle input waarden zoals hierboven aangegeven. Je kunt de volgende template gebruiken.

```PHP
function mijnFunctie($a, $b, $c) {
   // maak hier de code voor jouw functie 
}

echo mijnFunctie(3,2,1);
echo "<br>";
echo mijnFunctie(1,12,3);
echo "<br>";
echo mijnFunctie(0,4,0);
echo "<br>";
echo mijnFunctie(7,0,3);
echo "<br>";
echo mijnFunctie(0,0,0);
```

##### Inleveren

Lever de code in en gebruik de naam php71-jouw-naam.php

###   


### Opgave 2  


We hebben een functie die het volgende doet. De functie krijgt drie waarden en returned de som van de drie getallen (dus de drie input variabelen opgeteld). Er is nu een uitzondering. Zodra er een 0 in één van de input variabelen voorkomt dan wordt de return waarde 0.

<table border="1" id="bkmrk-input-output-mijnfun-0" style="border-collapse: collapse; width: 100%; height: 176.8px;"><tbody><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px; background-color: #c2e0f4;">**Input**  
</td><td style="width: 50.0412%; height: 29.4667px; background-color: #c2e0f4;">**Output**  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(3,2,1)  
</td><td style="width: 50.0412%; height: 29.4667px;">6  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(1,12,3)</td><td style="width: 50.0412%; height: 29.4667px;">16  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(0,4,0)</td><td style="width: 50.0412%; height: 29.4667px;">0  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(7,0,3)</td><td style="width: 50.0412%; height: 29.4667px;">0  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(0,0,0)</td><td style="width: 50.0412%; height: 29.4667px;">0  
</td></tr></tbody></table>

Maak een functie die dit doet.

Gebruik de template van opgave 1.

##### Inleveren

Lever de code in en gebruik de naam php72-jouw-naam.php

###   


### Opgave 3  


We hebben een functie die het volgende doet. De functie krijgt drie waarden en returned de som van de twee getallen (dus de twee input variabelen opgeteld). Er is nu een uitzondering. Zodra alle input variabelen 0 zijn wordt de return waarde 0.

<table border="1" id="bkmrk-input-output-mijnfun-1" style="border-collapse: collapse; width: 100%; height: 176.8px;"><tbody><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px; background-color: #c2e0f4;">**Input**  
</td><td style="width: 50.0412%; height: 29.4667px; background-color: #c2e0f4;">**Output**  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(3,2,1)  
</td><td style="width: 50.0412%; height: 29.4667px;">6  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(1,12,3)</td><td style="width: 50.0412%; height: 29.4667px;">16  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(0,4,0)</td><td style="width: 50.0412%; height: 29.4667px;">4  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(7,0,3)</td><td style="width: 50.0412%; height: 29.4667px;">10  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(0,0,0)</td><td style="width: 50.0412%; height: 29.4667px;">0  
</td></tr></tbody></table>

Maak een functie die dit doet.

Gebruik de template van opgave 1.

##### Inleveren

Lever de code in en gebruik de naam php73-jouw-naam.php

### Opgave 4  


We hebben een functie die het volgende doet.

De functie telt de drie input waarden bij elkaar op.

Is de som groter of gelijk aan 10 dan wordt de return waarde 1.  
Is de som kleiner dan 10 en groter dan 0 dan wordt de return waarde 0.  
Is de som 0 dan wordt de return waarde -1.

<table border="1" id="bkmrk-input-output-mijnfun-2" style="border-collapse: collapse; width: 100%; height: 176.8px;"><tbody><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px; background-color: #c2e0f4;">**Input**  
</td><td style="width: 50.0412%; height: 29.4667px; background-color: #c2e0f4;">**Output**  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(3,2,1)  
</td><td style="width: 50.0412%; height: 29.4667px;">0  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(1,12,3)</td><td style="width: 50.0412%; height: 29.4667px;">1  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(0,4,0)</td><td style="width: 50.0412%; height: 29.4667px;">0  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(7,0,3)</td><td style="width: 50.0412%; height: 29.4667px;">1  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie(0,0,0)</td><td style="width: 50.0412%; height: 29.4667px;">-1  
</td></tr></tbody></table>

Maak een functie die dit doet.

Gebruik de template van opgave 1.

##### Inleveren

Lever de code in en gebruik de naam php74-jouw-naam.php

### Opgave 5 - array optellen  


We hebben een functie die het volgende doet.

De functie telt alle waarden van een array bij elkaar op. De som alle getallen van het array wordt door de functie gereturned.

Let op het input array kan verschillende lengtes hebben.

<table border="1" id="bkmrk-input-output-mijnfun-3" style="border-collapse: collapse; width: 100%; height: 176.8px;"><tbody><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px; background-color: #c2e0f4;">**Input**  
</td><td style="width: 50.0412%; height: 29.4667px; background-color: #c2e0f4;">**Output**  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie( \[3,2,1\] )  
</td><td style="width: 50.0412%; height: 29.4667px;">6  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie( \[1,12,3,1,2\] )</td><td style="width: 50.0412%; height: 29.4667px;">19  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie( \[1,12,3,1,2,1\] )</td><td style="width: 50.0412%; height: 29.4667px;">20  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie( \[2,4\] )</td><td style="width: 50.0412%; height: 29.4667px;">6  
</td></tr><tr style="height: 29.4667px;"><td style="width: 50.0412%; height: 29.4667px;">mijnFunctie( \[4\] )</td><td style="width: 50.0412%; height: 29.4667px;">4  
</td></tr></tbody></table>

Maak een functie die dit doet.

Je kunt een array doorlopen met een foreach-loop zoals we in les 2 hebben gehad.

Je kunt de template van opgave 1 gebruiken, maar je moet deze wel aanpassen.

##### Inleveren

Lever de code in en gebruik de naam php74-jouw-naam.php

### Opgave 7 - voetbal  


De voetbaluitslagen staan in een array.

```PHP
$uitslagen = [ [1,3], [4,0], [0,0] ,[1,1],[0,2] ];
```

In dit lijstje heeft de club FCR (Footbal Club Royal), vijf wedstrijden gespeeld. De uitslagen waren 1-3, 4-0, 0-0, 1-1 en 0-2.

Maak een functie die met deze uitslagen het aantal punten voor FCR uitrekent.

Voor een gewonnen wedstrijd krijgt FCR 3 punten, voor gelijkspel 1 punt en voor een verloren spel 0 punten.

<table border="1" id="bkmrk-uitslag-punten-1-3-0" style="border-collapse: collapse; width: 43.3333%;"><tbody><tr><td style="width: 40.1265%; background-color: #c2e0f4;">Uitslag  
</td><td style="width: 59.8249%; background-color: #c2e0f4;">Punten  
</td></tr><tr><td style="width: 40.1265%;">1-3  
</td><td style="width: 59.8249%;">0  
</td></tr><tr><td style="width: 40.1265%;">4-0  
</td><td style="width: 59.8249%;">3  
</td></tr><tr><td style="width: 40.1265%;">0-0  
</td><td style="width: 59.8249%;">1  
</td></tr><tr><td style="width: 40.1265%;">1-1  
</td><td style="width: 59.8249%;">1  
</td></tr><tr><td style="width: 40.1265%;">0-2  
</td><td style="width: 59.8249%;">0</td></tr></tbody></table>

FCR heeft dus in dit voorbeeld 5 punten.

Maak een functie die de punten aan de hand van de uitslagen berekend.

<table border="1" id="bkmrk-input-punten-%5B-%5B1%2C3%5D" style="border-collapse: collapse; width: 70.7407%; height: 140px;"><tbody><tr style="height: 29.6px;"><td style="width: 44.7286%; background-color: #c2e0f4; height: 29.6px;">Input  
</td><td style="width: 55.2364%; background-color: #c2e0f4; height: 29.6px;">Punten  
</td></tr><tr style="height: 29.6px;"><td style="width: 44.7286%; height: 29.6px;">\[ \[1,3\], \[4,0\], \[0,0\] ,\[1,1\],\[0,2\] \]</td><td style="width: 55.2364%; height: 29.6px;">5  
</td></tr><tr style="height: 21.6px;"><td style="width: 44.7286%; height: 21.6px;">\[ \[1,1\], \[0,0\], \[0,2\] ,\[1,1\],\[0,2\] \]</td><td style="width: 55.2364%; height: 21.6px;">3</td></tr><tr style="height: 29.6px;"><td style="width: 44.7286%; height: 29.6px;">\[ \[1,1\], \[0,0\], \[0,0\] ,\[1,1\],\[2,2\] \]</td><td style="width: 55.2364%; height: 29.6px;">5  
</td></tr><tr style="height: 29.6px;"><td style="width: 44.7286%; height: 29.6px;">\[ \[1,0\], \[1,0\], \[2,0\] ,\[1,1\],\[0,2\] \]</td><td style="width: 55.2364%; height: 29.6px;">10  
</td></tr></tbody></table>

##### Template

```PHP
function berekenScore($uitslagen) {
  // bereken score
  
  
  return($score);
}

echo berekenScore([ [1,3], [4,0], [0,0] ,[1,1],[0,2] ]);
echo "<br>";
echo berekenScore([ [1,1], [0,0], [0,2] ,[1,1],[0,2] ]);
echo "<br>";
echo berekenScore([ [1,1], [0,0], [0,0] ,[1,1],[2,2] ]);
echo "<br>";
echo berekenScore([ [1,0], [1,0], [2,0] ,[1,1],[0,2] ]);
```

#####   


##### Inleveren

Lever de code in en gebruik de naam php77-jouw-naam.php

###   


### Opgave 8 - swap  


In de vorige opgave hadden we het over de uitslag van een voetbalwedstrijd. Een uitslag 1,0 betekende dat de thuisploeg (FCR) 1 doelpunt heeft gemaakt en de uit spelende ploeg had 0 punten gescoord.

Soms staat de uitslag in de verkeerde volgorde. FCR heeft met 3-2 gewonnen en de uitslag is 2-3.

Nu moet jij een functie maken die twee getallen in een array omdraait.

<table border="1" id="bkmrk-input-output-swap%28%5B1" style="border-collapse: collapse; width: 64.321%; height: 118.4px;"><tbody><tr style="height: 29.6px;"><td style="width: 40.2646%; background-color: #c2e0f4; height: 29.6px;">Input  
</td><td style="width: 59.9686%; background-color: #c2e0f4; height: 29.6px;">Output  
</td></tr><tr style="height: 29.6px;"><td style="width: 40.2646%; height: 29.6px;">swap(\[1,2\])  
</td><td style="width: 59.9686%; height: 29.6px;">\[2,1\]  
</td></tr><tr style="height: 29.6px;"><td style="width: 40.2646%; height: 29.6px;">swap(\[3,2\])</td><td style="width: 59.9686%; height: 29.6px;">\[2,3\]  
</td></tr><tr style="height: 29.6px;"><td style="width: 40.2646%; height: 29.6px;">swap(\[1,1\])</td><td style="width: 59.9686%; height: 29.6px;">\[1,1\]  
</td></tr></tbody></table>

##### Template

```PHP
function swap($uitslag) {
  // swap de twee elementen van het array
  
  
  return($swap);
}

print_r( swap($uitslag([2,1])) );
echo "<br>";
print_r( swap($uitslag([2,3])) );
echo "<br>";
print_r( swap($uitslag([1,1])) );

```

#####   


##### Inleveren

Lever de code in en gebruik de naam php78-jouw-naam.php