Bonjour à tous,
Je me sens vraiment très bête sur ce coup là. En fait, je souhaiterai un coup de main afin d'optimiser le code dont voici un extrait :
Code PHP : 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116 $carnaval = ( isset($_POST['carnaval'])) ? $_POST['carnaval'] : null; $apapier = ( isset($_POST['apapier'])) ? $_POST['apapier'] : null; $fpapier = ( isset($_POST['fpapier'])) ? $_POST['fpapier'] : null; $tresor = ( isset($_POST['tresor'])) ? $_POST['tresor'] : null; $utdebut = mktime($heure, $minute, 0, $mois, $jour, $annee); /*0001*/ if( $carnaval == null && $apapier == null && $fpapier == null && $tresor != null ){ $uttdebut = $utdebut; $uttfin = $uttdebut + 3600; } /*0010*/ if( $carnaval == null && $apapier == null && $fpapier != null && $tresor == null ){ $utfpdebut = $utdebut; $utfpfin = $utfpdebut + 3600; } /*0011*/ if( $carnaval == null && $apapier == null && $fpapier != null && $tresor != null ){ $utfpdebut = $utdebut; $utfpfin = $utfpdebut + 3600; $uttdebut = $utfpfin; $uttfin = $uttdebut + 3600; } /*0100*/ if( $carnaval == null && $apapier != null && $fpapier == null && $tresor == null ){ $utapdebut = $utdebut; $utapfin = $utapdebut + 3600; } /*0101*/ if( $carnaval == null && $apapier != null && $fpapier == null && $tresor != null ){ $utapdebut = $utdebut; $utapfin = $utapdebut + 3600; $uttdebut = $utapfin; $uttfin = $uttdebut + 3600; } /*0110*/ if( $carnaval == null && $apapier != null && $fpapier != null && $tresor == null ){ $utapdebut = $utdebut; $utapfin = $utapdebut + 3600; $utfpdebut = $utapfin; $utfpfin = $utfpdebut + 3600; } /*0111*/ if( $carnaval == null && $apapier != null && $fpapier != null && $tresor != null ){ $utapdebut = $utdebut; $utapfin = $utapdebut + 3600; $utfpdebut = $utapfin; $utfpfin = $utfpdebut + 3600; $uttdebut = $utfpfin; $uttfin = $uttdebut + 3600; } /*1000*/ if( $carnaval != null && $apapier == null && $fpapier == null && $tresor == null ){ $utcdebut = $utdebut; $utcfin = $utcdebut + 3600; } /*1001*/ if( $carnaval != null && $apapier == null && $fpapier == null && $tresor != null ){ $utcdebut = $utdebut; $utcfin = $utcdebut + 3600; $uttdebut = $utcfin; $uttfin = $uttdebut + 3600; } /*1010*/ if( $carnaval != null && $apapier == null && $fpapier != null && $tresor == null ){ $utcdebut = $utdebut; $utcfin = $utcdebut + 3600; $utfpdebut = $utcfin; $utfpfin = $utfpdebut + 3600; } /*1011*/ if( $carnaval != null && $apapier == null && $fpapier != null && $tresor != null ){ $utcdebut = $utdebut; $utcfin = $utcdebut + 3600; $utfpdebut = $utcfin; $utfpfin = $utfpdebut + 3600; $uttdebut = $utfpfin; $uttfin = $uttdebut + 3600; } /*1100*/ if( $carnaval != null && $apapier != null && $fpapier == null && $tresor == null ){ $utcdebut = $utdebut; $utcfin = $utcdebut + 3600; $utapdebut = $utcfin; $utapfin = $utapdebut + 3600; } /*1101*/ if( $carnaval != null && $apapier != null && $fpapier == null && $tresor != null ){ $utcdebut = $utdebut; $utcfin = $utcdebut + 3600; $utapdebut = $utcfin; $utapfin = $utapdebut + 3600; $uttdebut = $utapfin; $uttfin = $uttdebut + 3600; } /*1110*/ if( $carnaval != null && $apapier != null && $fpapier != null && $tresor == null ){ $utcdebut = $utdebut; $utcfin = $utcdebut + 3600; $utapdebut = $utcfin; $utapfin = $utapdebut + 3600; $utfpdebut = $utapfin; $utfpfin = $utfpdebut + 3600; } /*1111*/ if( $carnaval != null && $apapier != null && $fpapier != null && $tresor != null ){ $utcdebut = $utdebut; $utcfin = $utcdebut + 3600; $utapdebut = $utcfin; $utapfin = $utapdebut + 3600; $utfpdebut = $utapfin; $utfpfin = $utfpdebut + 3600; $uttdebut = $utfpfin; $uttfin = $uttdebut + 3600; }
Je vous prie d'avance d'excuser ce code pas optimiser pour un bit. Mais malheureusement, mon cours d'algo remonte à il y a tellement longtemps, que je ne sais plus comment résoudre ce problème.
Une solution serait par exemple de concaténer les différentes variables $carnaval, $apapier, $fpapier et $tresor en une chaine de caractère, et passer par un switch case, qui me ferais 15 case (le cas ou tout est null est signe d'erreur et renvoie une exception).
En vous remerciant pour toutes aide que vous pourrez m'apporter pour me mettre sur la voie.
Si par contre je trouve une solution afin de réduire le nombre d'itération de if, je placerai le code sans hésiter.
Partager