Page 1 sur 1

if isset

Posté : 08 sept. 2015, 22:30
par neomega
bonjour,

je me heurte a un probleme que je ne comprend vraiment pas
<?php
$total_pieces=7;
$port=0;
if(isset($total_piece)&&($total_piece<="2")){$port=5;}
else if(isset($total_piece)&&($total_piece<"7")){$port=6;}
else if(isset($total_piece)&&($total_piece<"10")){$port=7;}
else if(isset($total_piece)&&($total_piece<"17")){$port=8;}
else if(isset($total_piece)&&($total_piece<"23")){$port=11;}
else if(isset($total_piece)&&($total_piece<"33")){$port=13;}
else {$port="sa bug";}
echo $port;
?>
sa me retourne "sa bug" au lieur de 7

Re: if isset

Posté : 08 sept. 2015, 22:35
par or 1
tu testes si la variable $total_piece existe, alors que c'est $total_pieces que tu as défini, donc le isset retourne toujours false.

Re: if isset

Posté : 08 sept. 2015, 22:40
par neomega
$total_pieces=7;
$port=0;
if($total_piece<="2"){$port=5;}
else if($total_piece<"7"){$port=6;}
else if($total_piece<"10"){$port=7;}
else if($total_piece<"17"){$port=8;}
else if($total_piece<"23"){$port=11;}
else if($total_piece<"33"){$port=13;}
else {$port="sa bug";}
maintenant sa me retourne "5" au lieur de "6"

Re: if isset

Posté : 09 sept. 2015, 00:31
par @rthur
Bonjour,

Vérifies comment tu écrit $total_pieces par moment avec "s" par moment sans.
Si tu retire le s à la 1ère variable ton code fonctionne.

Re: if isset

Posté : 09 sept. 2015, 00:38
par neomega
hooooo je suis un boulet

merci beaucoup @rthur

Re: [RESOLU] if isset

Posté : 09 sept. 2015, 11:40
par Ryle
Bonjour,

A noter également qu'il ne faut pas mettre de guillemets autour des nombres pour effectuer des opérations arithmétiques... certes, cela est toléré et fonctionne en php, mais ce n'est ni utile, ni lisible (42 est plus clair que "42"), ni performant (php doit convertir chaque chaine en sa valeur numérique pour effectuer la comparaison, certes c'est en pouillème de millisecondes, mais ça sert à rien de lui donner du travail en plus), ni portable (le jour où tu travailleras dans d'autres langages, ça ne fonctionnera pas. Ex en javascript "2"+"3"="23", alors que 2+3=5)