Question basique d'un débutant

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Question basique d'un débutant

par JMB » 20 avr. 2009, 16:48

Merci beaucoup, je me doutais qu'il y avait un souci entre les valeurs booléennes et des strings.

Re: Question basique d'un débutant

par albat » 20 avr. 2009, 16:44

Premier code fonctionne correctement (on s'en serait douter)
c'est à dire qu'il affiche pas ok. On est bien d'accord ?


Ta variable $condition est initialisée avec la chaîne '($a==$b)'.
Sa valeur finale sera soit '($a==$b)', soit '($a==$b)AND($c==$d)' (sans espaces, en plus !)

Ton test if($condition) équivant à if('($a==$b)AND($c==$d)')
cad un test sur une chaine de caractères et non sur une expression booléenne.

:idea: Jette un oeil sur la fonction eval()... ;)

Question basique d'un débutant

par JMB » 20 avr. 2009, 16:38

Bonjour à tous et merci pour celui qui pourrait m'expliquer ceci :
Premier code fonctionne correctement (on s'en serait douter) :
<?php
    $a=2;
    $b=2;
    $c=3;
    $d=5;

    if(($a==$b) AND ($c==$d)){
        printr 'ok';
        }Else{
        printr 'pas ok';
        }
?>


deuxième code : le résultat des conditions ne sont pas correctes, Où est l'erreur de syntaxe :
<?php
    $a=2;
    $b=2;
    $c=3;
    $d=5;

    $condition ='($a==$b)';

    //j'ajoute une condition, seulement si d>c
    if($d>$c){
        $condition .='AND';
        $condition .='($c==$d);
        }

    if($condition){
        printr 'ok';
        }Else{
        printr 'pas ok';
        }
?>