Bonjour,

Je comprends pas 2 choses concernant "switch et case"; je crois comprendre que 'switch' n'exécute l'instruction que si la valeur correspond (est égal ); or, le code suivant fonctionne bien alors que la valeur est comprise entre deux "cases".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head><title>14_switch_2</title></head>
    <body>
        <h2>14_switch_2</h2><br/>
        <h2>Entrez les données suivantes </h2>
        <form name="formulaire" method="post" action="14_switch_2.php">
            Entrez x : <input type="text" name="x"/> <br/>
            Entrez y : <input type="text" name="y"/> <br/>
            Entrez z : <input type="text" name="z"/> <br/><br/>
            <input type="submit" name="valider" value="OK"/>
        </form>
 
		<?php
		if(isset($_POST['valider'])){
        $x=$_POST['x'];
        $y=$_POST['y'];
        $z=$_POST['z'];
 
		echo 'x = '.$x.'<br/>';
		echo 'y = '.$y.'<br/>';
		echo 'z = '.$z.'<br/>';
		}
 
		switch ($x) {
 
		case 0:
		echo "0 < ou = x < 1";
		break;
		case 1:
		echo "1 < ou = x < 2";
		break;
		case 2:
		echo "2 < ou = x < 3";
		break;
		case 3:
		echo "3 < ou = x";
		}
 
        ?>
    </body>
</html>
D'autre part, je lis sur le site http://www.php.net/manual/fr/control...res.switch.php "Une autre chose à mentionner est que la valeur du case peut être toute expression de type scalaire, c'est-à-dire nombre entier, nombre à virgule flottante et chaîne de caractères. Les tableaux sont sans intérêt dans ce contexte-là." J'ai donc créé le code suivant en espérant qu'il fonctionne ; où est l'erreur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head><title>14_switch_3</title></head>
    <body>
        <h2>14_switch_3</h2><br/>
        <h2>Entrez les données suivantes </h2>
        <form name="formulaire" method="post" action="14_switch_3.php">
            Entrez x : <input type="text" name="x"/> <br/>
            Entrez y : <input type="text" name="y"/> <br/>
            Entrez z : <input type="text" name="z"/> <br/><br/>
            <input type="submit" name="valider" value="OK"/>
        </form>
 
		<?php
		if(isset($_POST['valider'])){
        $x=$_POST['x'];
        $y=$_POST['y'];
        $z=$_POST['z'];
 
		echo 'x = '.$x.'<br/>';
		echo 'y = '.$y.'<br/>';
		echo 'z = '.$z.'<br/>';
		}
 
		switch ($x) {
 
		case 0:
		echo "0 < ou = x < 1.5";
		break;
		case 1.5:
		echo "1.5 < ou = x < 2.5";
		break;
		case 2.5:
		echo "2.5 < ou = x < 3.5";
		break;
		case 3.5:
		echo "3.5 < ou = x";
		}
 
        ?>
    </body>
</html>
Merci et à bientôt.