Problème de variable dans un If
Posté : 06 févr. 2009, 17:35
Bonjour à toutes et à tous,
Le nom de mon sujet n'est pas très explicite mais si je savais comment le nommer je n'aurais sans doute pas à vous poser la question. Bref...
J'ai une fonction qui me renvoie une chaîne de caractère. J'vais la montrer ça évitera des explications aussi incompréhensibles qu'inutiles :
Quand je fais un p'tit echo de la fonction et que je renvoie tout ça dans le If ça marche sans problèmes. Je penses donc que le problème vient du fait que le If ne fait pas le test sur ce qui est renvoyé mais voit juste que la chaine n'est pas vide et donc exécute le code.
Vous sauriez comment résoudre ça ?
Le nom de mon sujet n'est pas très explicite mais si je savais comment le nommer je n'aurais sans doute pas à vous poser la question. Bref...
J'ai une fonction qui me renvoie une chaîne de caractère. J'vais la montrer ça évitera des explications aussi incompréhensibles qu'inutiles :
Ce que je voudrais, c'est que le résultat de cette fonction soit exécuté dans un If afin que celui face son boulot et m'affiche ce que je veux. J'ai fait comme ça :function triRdPM_OSN($var) {
if ($var == 'all') return '\'1\'';
else if ($var == '') return '$projets->getAttribute(\'RdPM_OSN_id\') == \'\'';
else return '$projets->getAttribute(\'RdPM_OSN_id\') == \'' . "$var" . '\'';
}
Mais... Rien de ce que je veux ne s'affiche...if (triRdPM_OSN($_GET['rdpm_osn'])) {
/* Bla bla bla */
}
Quand je fais un p'tit echo de la fonction et que je renvoie tout ça dans le If ça marche sans problèmes. Je penses donc que le problème vient du fait que le If ne fait pas le test sur ce qui est renvoyé mais voit juste que la chaine n'est pas vide et donc exécute le code.
Vous sauriez comment résoudre ça ?