Basis

De functie switch() is erg handig zijn om een hele serie if'jes overzichtelijker te maken. Om maar met een voorbeeldje te beginnen, de volgende code:

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
<?
if ($i == 0) {
   echo '$i is 0';
}

elseif ($i == 1) {
   echo '$i is 1';
}

elseif ($i == 2) {
   echo '$i is 2';
}

elseif ($i == 3) {
   echo '$i is 3';
}

?>


Kan worden vervangen door:

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
<?
switch ($i) {
   case
0:
      echo '$i is 0';
   break;
   case
1:
      echo '$i is 1';
   break;
   case
2:
      echo '$i is 2';
   break;
   case
3:
      echo '$i is 3';
   break;
}

?>


De werking van de functie is heel logisch. Hij bekijkt de variabele $i en bij elke 'case' vergelijkt hij die. Komt $i overeen met de 'case' wordt die code uitegevoerd.

In het voorbeeld wordt ervan uitgegaan dat $i een integer is. Let wel op dat bij strings aanhalingstekens gebruikt worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
switch ($string) {
   case
'aap':
      echo '$string is aap';
   break;
   case
'noot':
      echo '$string is noot';
   break;
   case
'mies':
      echo '$string is mies';
   break;
}

?>


Misschien overbodig, maar voor de volledigheid: De code hierboven is dus hetzelfde als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
if ($string == 'aap') {
   echo '$string is aap';
}

elseif ($string == 'noot') {
   echo '$string is noot';
}

elseif ($string == 'mies') {
   echo '$string is mies';
}

?>

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Basis
  2. Default
  3. Break
  4. Uitgebreide cases
  5. Alternatieve syntax
  6. Het nut

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.