Page 1 sur 1

Construire et stocker une condition à partir d'un txt

Posté : 05 mars 2013, 16:03
par foetus69
Bonjour,

Je me suis lancée dans un petit script très instructif mais je bloque sur un endroit, quelqu'un peut m'aider et me dire surtout si ma démarche est bonne ?

A partir d'un fichier texte qui ressemble à cela : TOTO;TITI;TUTU;TATA;

je cherche à concaténer un if dans une variable mais j'ai 2 soucis. Premièrement stocker d'autres variables sans les interpréter et deuxièmement exécuter mon if normalement comme si je l'avais saisi.

Mon p'tit bout de code :
//je récupère TOTO,TITI...et mets tout dans un array sur la base des ;
$data = file_get_contents("fichier.txt"); 
$tab = array(); 
$tab = explode(";",$data);

//j'instancie pour mon test la variable $name
$name = "TOTO";

//je déclare ma condition de la sorte
$condi = "if ($name == 'BILOU'";

//je parcours mon tableau
for ($i=0;$i<count($tab);$i++){
	$condi .=  " || $name == '".$tab[$i]."'";
}

//je ferme la parenthèse du if
$condi .= ")";


$condi .= "{
  '$guest' = 'OUI' ;
  }else{
  '$guest' = 'NON' ;
  }";
Vous voyez ce que je cherche à faire ? Ecrire un grand IF, l'exécuter et faire en sorte que $guest soit = à OUI ou NON car là pour le coup il m'affiche rien.

Par avance merci
Féfé

Re: Construire et stocker une condition à partir d'un txt

Posté : 05 mars 2013, 16:17
par xTG
Pourquoi ne pas utiliser la fonction in_array() ?
$data = file_get_contents("fichier.txt");
$tab = array();
$tab = explode(";",$data);
$tab[] = "BILOU";

if( in_array($name, $tab) ){
  // ...
}
Car vouloir faire du code à évaluer c'est généralement pas génial et résulte dans 99% des cas à un souci de conception.
Pour résumer, il faut toujours chercher comment faire autrement, c'est plus sûr. ;)

Re: Construire et stocker une condition à partir d'un txt

Posté : 05 mars 2013, 16:37
par foetus69
Mdrrrr Cathy ou l'art de se compliquer la vie.

C'est vrai que ma méthode était tirée par les cheveux. Quel nom génial in_array, je ne connaissais pas, mais c'est vrai qu'en y réfléchissant un peu ma coucouille ca lui va drôlement bien ^^, ca parrait si évident :)

J'étais partie pour faire comme quand "on" écrit une query conditionnelle, une concaténation avant exécution mais c'était sans compter PHP et xTG (Encore une "mission" réussie !)

Sinon pour mon info perso, c'était techniquement jouable de faire ce que j'avais commencé à faire ? J'avais continué avec $guest = "&#36;guest"; et finir par un magistral eval ($condi) qui me renvoyait une erreur lol

Parse error: syntax error, unexpected '&'

F69

Re: [RESOLU] Construire et stocker une condition à partir d'

Posté : 05 mars 2013, 18:06
par xTG
Jamais je ne pourrai te répondre que c'était viable vu que c'est une énormité de coder à base de eval(). :)
Mais cela aurait pu clopiner avec une bonne gestion des guillemets (simple à certains endroit au lieu de double).

N.B :
$var = "$var"; // ne fait strictement rien car équivalent à :
$var = $var;