Simplifier une ligne de code

WRInaute impliqué
Bonjour,

J'aimerais savoir si il y a possibilité de simplifier ce code php ?

if ($_POST['list_equips_1'] == 0 AND $_POST['list_equips_2'] == 0 AND $_POST['list_equips_3'] == 0 AND $_POST['list_equips_4'] == 0 AND $_POST['list_equips_5'] == 0) { }

Merci à ceux qui pourront m'aider.
 
Nouveau WRInaute
sff a dit:
Bonjour,

J'aimerais savoir si il y a possibilité de simplifier ce code php ?

if ($_POST['list_equips_1'] == 0 AND $_POST['list_equips_2'] == 0 AND $_POST['list_equips_3'] == 0 AND $_POST['list_equips_4'] == 0 AND $_POST['list_equips_5'] == 0) { }

Merci à ceux qui pourront m'aider.

produit nul (a x b x c x d = 0) :idea:
 
WRInaute passionné
Code:
$result = $_POST['list_equips_1']+$_POST['list_equips_2']+$_POST['list_equips_3']+$_POST['list_equips_4'];
if ($result==0) {}
 
WRInaute discret
Ukri a dit:
sff a dit:
Bonjour,

J'aimerais savoir si il y a possibilité de simplifier ce code php ?

if ($_POST['list_equips_1'] == 0 AND $_POST['list_equips_2'] == 0 AND $_POST['list_equips_3'] == 0 AND $_POST['list_equips_4'] == 0 AND $_POST['list_equips_5'] == 0) { }

Merci à ceux qui pourront m'aider.

produit nul (a x b x c x d = 0) :idea:
Cela n'est pas bon du tout ;)
$_POST['list_equips_1'] = 0 et $_POST['list_equips_2'] = 1 ==> OK pour toi, KO pour lui
Même avec les + c'est pas sûr que c'est bon sauf si toutes ses valeurs sont forcement positives ($_POST['list_equips_1'] = 1 et $_POST['list_equips_2'] = -1)

J'aurais dit val1 == val2 == val3 == val4 == 0 mais ca je ne crois pas que php l'accepte comme condition!
 
WRInaute discret
Encore une fois, toutes ses méthodes qui se basent sur la somme ne sont valables que si toutes les valeurs sont forcement positives. Sinon obj1 = 1, obj2 = -1 et obj3=obj4=obj5=0.

obj1 + obj2 + obj3 + obj4 + obj5 = 0 alors que obj1 et obj2 sont différents de 0.
 
WRInaute passionné
dans ce cas

Code:
for ($i=0; $i<=5; $i++) $result += abs($_POST['list_equips_$i']);
if ($result == 0) {}
 
Nouveau WRInaute
jamalofski a dit:
Cela n'est pas bon du tout ;)
$_POST['list_equips_1'] = 0 et $_POST['list_equips_2'] = 1 ==> OK pour toi, KO pour lui
Même avec les + c'est pas sûr que c'est bon sauf si toutes ses valeurs sont forcement positives ($_POST['list_equips_1'] = 1 et $_POST['list_equips_2'] = -1)

J'aurais dit val1 == val2 == val3 == val4 == 0 mais ca je ne crois pas que php l'accepte comme condition!

oups sorry j'avais lu des "OR", pfiou vais prendre des lunettes moa ! :mrgreen:
 
WRInaute passionné
oui :) ... j'avoue que j'ai lu le problème à la va vite :p
mais le principe est d'utiliser la boucle for
 
WRInaute accro
Code:
if (abs($_POST['list_equips_1'])+abs($_POST['list_equips_2'])+abs($_POST['list_equips_3'])+abs($_POST['list_equips_4'])+abs($_POST['list_equips_5']) == 0)
:wink:
 
WRInaute discret
et d'une manière générale (je reste dans la bonne idée de la boucle for proposée par les autres membres) :

Code:
function verif_post()
{
  for ($i=1; $i<=5; $i++)
  {
    if ($_POST['list_equips_$i'] != 0) //0 ou autre bien sûr
      return false;
  }
  return true;
}
 
WRInaute impliqué
J'ai un petit soucis avec cette boucle :

Code:
for ($i=1; $i<=$nb_total; $i++) $result += abs($_POST['list_potions_'.$i]);
                
				if ($result == 0) {
				
				echo 'oui';

}

j'ai une notice :

Notice: Undefined variable: result ...
 
Discussions similaires
Haut