Bonsoir,
Je viens à vous, afin que vous puissiez m'aider sur l'optimisation d'une fonction.
En effet, je pense que celle-ci peut être optimisé, mais je ne vois pas comment pourrais-je faire.
Voici ma fonction:
Cette fonction sert, à me donner le pourcentage d'évolution du domaine. En effet, grâce aux points indiqué sur chaque bâtiments dans l'array, si le bâtiment est construit, ça ajoute ce nombre de point. (Ce nombre ne peux pas dépassé les 100).
Exemple:
Si je fais <?php echo calculEvolution('securite'); ?>, il va regarder dans MySQL que les bâtiments existent, si c'est le cas, il incrémente le nombre de point aux points total qui celui-ci à la fin me donnera le résultat.
Avez-vous des idées, sur comment améliorer cette fonction.
Merci d'avance à ceux qui sauront m'aider
.
Je viens à vous, afin que vous puissiez m'aider sur l'optimisation d'une fonction.
En effet, je pense que celle-ci peut être optimisé, mais je ne vois pas comment pourrais-je faire.
Voici ma fonction:
PHP:
<span class="syntaxdefault"><br />function calculEvolution</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$type</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> global $bdd</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> <br /> $pts </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> <br /> $batiment </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'enseignement'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'req'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'ecole,college,atelierarts,bibliotheque,universite'<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">),<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'bat'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'ecole'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'5'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'college'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'20'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'atelierarts'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'20'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'bibliotheque'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'25'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'universite'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'30'<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">),<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'croyance'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'req'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'chapelle,eglise,cathedrale'<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">),<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'bat'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'chapelle'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'15'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'eglise'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'25'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'cathedrale'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'60'<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">),<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'popularite'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'req'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'fontaine,statue,jardins,palais,hippodrome'<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">),<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'bat'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'fontaine'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'8'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'statue'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'15'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'jardins'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'20'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'palais'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'30'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'hippodrome'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'27'<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">),<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'securite'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'req'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'potence,cachots,tribunalcitoyen'<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">),<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'bat'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'potence'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'15'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'cachots'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'35'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'tribunalcitoyen'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'50'<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">),<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'salubrite'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'req'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'hopital,dispensaire,lavoir,fossecommune,cimetiere,caniveaux,egouts,decharge,pavage,puits,servicefunebre'<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">),<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'bat'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'hopital'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'10'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'dispensaire'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'7'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'lavoir'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'5'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'fossecommune'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'6'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'cimetiere'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'8'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'caniveaux'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'6'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'egouts'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'9'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'decharge'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'10'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'pavage'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'12'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'puits'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'15'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault"> </span><span class="syntaxstring">'servicefunebre'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'12'<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault"> foreach </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$batiment</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$type</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'req'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> as $i</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> $sql </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> $req </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $bdd</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">prepare</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$sql</span><span class="syntaxkeyword">.</span><span class="syntaxstring">" FROM player_batiment WHERE joueur= :joueur"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault"> $req</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">bindValue</span><span class="syntaxkeyword">(</span><span class="syntaxstring">':joueur'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $_SESSION</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'id'</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> PDO</span><span class="syntaxkeyword">::</span><span class="syntaxdefault">PARAM_INT</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault"> $req</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">execute</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault"> $don </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $req</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fetch</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault"> <br /> foreach </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$batiment</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$type</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'bat'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> as $ii </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $v</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$don</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$ii</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> $pts </span><span class="syntaxkeyword">+=</span><span class="syntaxdefault"> $v</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> return $pts</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxdefault"> </span>
Cette fonction sert, à me donner le pourcentage d'évolution du domaine. En effet, grâce aux points indiqué sur chaque bâtiments dans l'array, si le bâtiment est construit, ça ajoute ce nombre de point. (Ce nombre ne peux pas dépassé les 100).
Exemple:
Si je fais <?php echo calculEvolution('securite'); ?>, il va regarder dans MySQL que les bâtiments existent, si c'est le cas, il incrémente le nombre de point aux points total qui celui-ci à la fin me donnera le résultat.
Avez-vous des idées, sur comment améliorer cette fonction.
Merci d'avance à ceux qui sauront m'aider
