Aide sur if else ???

Aide sur if else ??? - PHP - Programmation

Marsh Posté le 26-02-2012 à 23:21:54    

Bonjour,
 
Pourriez vous me tuyauter sur le fait de savoir pourquoi la dernière instruction de cette focntion n'est pas prise en compte le script semble s'arreter au else if ?
 

Code :
  1. function _tralala() {
  2. global $f;
  3. if($f->machin>0) return 'affiche 1';
  4. if($f->test==1) return 'affiche 2';
  5. else if ($f->machin<=1) return 'affiche 3';
  6. if($f->autretest==1) return 'affiche 4';
  7. }


Merci car je sèche ...

Reply

Marsh Posté le 26-02-2012 à 23:21:54   

Reply

Marsh Posté le 27-02-2012 à 00:19:14    

Tu compares des choses différentes.

Code :
  1. if($f->machin>0) return 'affiche 1';
  2. else if ($f->machin<=1) return 'affiche 3';
  3. if($f->test==1) return 'affiche 2';
  4. if($f->autretest==1) return 'affiche 4';


me paraît plus logique

Reply

Marsh Posté le 27-02-2012 à 10:10:43    

Par ailleurs, utiliser global dans une fonction ne me paraît pas indiqué :/ Mieux vaut passer $f en paramètre de la fonction...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 27-02-2012 à 12:51:10    

Merci à tous les deux.
Bon je vais essayer de comprendre car ça ne fonctionne pas seuls les deux premiers tests marchent.
J'ai bien compris qu'il fallait tester la même chose dans le même test mais ensuite pourquoi la ligne 3 et la ligne 4 ne sont pas testées, là je comprends plus.
 
En fait pour moi ($f->test==1) doit tester si le champ est égal à 1, si oui il doit afficher "affiche 2"
 
C'est bien ça ?
Est-ce que l'ordre des lignes est important ?
 
Merci

Reply

Marsh Posté le 27-02-2012 à 12:54:05    

rufo a écrit :

Par ailleurs, utiliser global dans une fonction ne me paraît pas indiqué :/ Mieux vaut passer $f en paramètre de la fonction...


Oui je sais les variables globales c'est le mal...
 
Dans ce cas précis comment faire ?

Reply

Marsh Posté le 27-02-2012 à 13:01:06    

Ben passer $f en paramètre de ta fonction, tout simplement :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed