Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Limiter le résultat à un ou zéro

6 réponses
Avatar
Christophe
Bonjour,

Pour limiter le résultat d'une variable à l'entrée à un nombre binaire, j'ai
écris le code suivant:
$ordre = $_GET['ordre'];
if (!is_int($ordre) AND ($ordre < 0 OR $ordre >1)) $ordre = 0;

Cela marche, mais je me demandais s'il n'y avait pas plus simple vu
l'importance des nombres binaires en informatique. J'ai trouvé is_bool, par
exemple, mais cela ne marche qu'avec True et False.

C'est pas très important, mais cela me turlupine. D'avance merci pour votre
aide.

Christophe

6 réponses

Avatar
bl8s
Christophe wrote:
Bonjour,

Pour limiter le résultat d'une variable à l'entrée à un nombre binaire, j'ai
écris le code suivant:
$ordre = $_GET['ordre'];
if (!is_int($ordre) AND ($ordre < 0 OR $ordre >1)) $ordre = 0;



$order = (isset($_GET['order']) and $_GET['order']=='1') 1 : 0;
non ?

--
http://bl8s.be/sketchblog

Avatar
Christophe
Le 27.6.2006 12:21, dans 44a0fb3f$, « bl8s »
a écrit :

$order = (isset($_GET['order']) and $_GET['order']=='1') 1 : 0;
non ?


Merci, je ne pense jamais à ce type de structure. Je crois qu'il manque
néanmoins un point d'interrogation avant 1 : 0;

Christophe

Avatar
Florian Sinatra
*Christophe* @ 27/06/2006 11:19 :
Bonjour,

Pour limiter le résultat d'une variable à l'entrée à un nombre binaire, j'ai
écris le code suivant:
$ordre = $_GET['ordre'];
if (!is_int($ordre) AND ($ordre < 0 OR $ordre >1)) $ordre = 0;

Cela marche, mais je me demandais s'il n'y avait pas plus simple vu
l'importance des nombres binaires en informatique. J'ai trouvé is_bool, par
exemple, mais cela ne marche qu'avec True et False.


Comment ca ? Si tes arguments ne sont pas booléens, il suffit de les
transtyper non ?
<http://ch2.php.net/manual/fr/language.types.type-juggling.php#language.types.typecasting>

Avatar
Christophe
Le 27.6.2006 23:34, dans , « Florian Sinatra »
a écrit :

*Christophe* @ 27/06/2006 11:19 :
Bonjour,

Pour limiter le résultat d'une variable à l'entrée à un nombre binaire, j'ai
écris le code suivant:
$ordre = $_GET['ordre'];
if (!is_int($ordre) AND ($ordre < 0 OR $ordre >1)) $ordre = 0;

Cela marche, mais je me demandais s'il n'y avait pas plus simple vu
l'importance des nombres binaires en informatique. J'ai trouvé is_bool, par
exemple, mais cela ne marche qu'avec True et False.


Comment ca ? Si tes arguments ne sont pas booléens, il suffit de les
transtyper non ?
<http://ch2.php.net/manual/fr/language.types.type-juggling.php#language.types.
typecasting>


Effectivement cela marche et c'est tout bête. Si $ordre == 0
(bool) $ordre renvoie NULL plutôt que 0, mais cela ne doit pas poser de
problèmes.

En tous cas, merci, ce sont les réponses que je cherchais.

Christophe


Avatar
Florian Sinatra
*Christophe* @ 28/06/2006 23:09 :
Effectivement cela marche et c'est tout bête. Si $ordre == 0
(bool) $ordre renvoie NULL plutôt que 0, mais cela ne doit pas poser de
problèmes.


Ah non. NULL n'est pas un booléen, c'est FALSE :
(bool)0 === FALSE !== NULL

<http://ch2.php.net/manual/fr/language.types.boolean.php#language.types.boolean.casting>

Avatar
Christophe
Le 29.6.2006 1:13, dans 44a2fc7e$, « Florian Sinatra »
a écrit :

Ah non. NULL n'est pas un booléen, c'est FALSE :
(bool)0 === FALSE !== NULL


Effectivement. Je devrais lire plus souvent la bible PHP.net, mais ces pages
sont tellement longues et quelques photos de top modèles open source entre
deux fonctions ne gâcheraient rien ;)

Christophe