Optimiser ce bout de code ?
benoitphp
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je cherche un moyen de raccourcir/optimiser ce code car j'ai plus de 100 lignes a faire et je pense au final avoir la mauvaise méthode.
un exemple :
merci
un exemple :
$success = TRUE;
if(!intval($_POST['color'])){
$success = FALSE;
}
if($_POST['color'] == 1 && $user[0]-> score < 10000 ){
$success = FALSE;
}
if($_POST['color'] == 2 && $user[0]-> score < 20000 ){
$success = FALSE;
}
if($_POST['color'] == 3 && $user[0]-> score < 30000 ){
$success = FALSE;
}
if($_POST['color'] == 4 && $user[0]-> score < 40000 ){
$success = FALSE;
}
if($_POST['color'] == 5 && $user[0]-> score < 50000 ){
$success = FALSE;
}
if($_POST['color'] == 6 && $user[0]-> score < 60000 ){
$success = FALSE;
}
if($_POST['color'] == 7 && $user[0]-> score < 70000 ){
$success = FALSE;
}
if($_POST['color'] == 8 && $user[0]-> score < 80000 ){
$success = FALSE;
}
merci
3 réponses
-
Peut être un petit remplacement :
if($user[0]-> score < ($_POST['color']*10000 ))
-
Salut,
Un début de solution possible :$success = true; if (empty($_POST['color'])) { $success = false; } else { if ($_POST['color'] > 0 && $_POST['color'] < 9 && $user[0]-> score < $_POST['color'] * 10000) { $success = false; } }
Bonne journée, -
Bonjour,
Sachant qu'il est préférable de récupérer "PORPREMENT" les variables AVANT de les utiliser...
comme ceci :$color = !empty($_POST['color']) ? $_POST['color'] : null;
Tu peux ensuite faire :
$success = $color && $user[0]->score < $color*1000 ? false : true;
nb: Ceci est l'écriture ternaire. Cela remplace les IF.
sa syntaxe correspond à :
$variable = condition(s) ? valeur_si_vraie : valeur_si_faux ;