Problème dans mon code php

Résolu
Aka13 Messages postés 184 Statut Membre -  
 le père -
Bonjour,

J'ai une erreur dans mon code mais je ne trouve pas ou. J'espère qu'une personne pourra m'aider.

Voici mon code :

function ranger() {
	$valide = "non";
	for ($i = 0; $i < func_num_args(); $i++) {
		if ($droit == func_get_arg($i)) {$valide = "oui";}
	}
	if ($valide == "oui") {return true;}
	else {return false;}
}
  
$droit = 7;
if (ranger(1,7,12,8,45)) {echo "ok";}
else {echo "pas ok";}


J'ai réduit le code au maximum pour qu'il soit plus facile à comprendre.
--
Cordiallement Aka13

2 réponses

  1. le père
     
    Bonjour

    DoulyCreations ne semble pas connaître les fonctions avec nombre de paramètres variable...

    Je pense que ta fonction ne marche pas simplement parce que tu as oublié de déclarer $droit comme global dans ranger()
    1
    1. Aka13 Messages postés 184 Statut Membre 8
       
      Merci c'était bien ce que j'avais oublié j'ai replacer mon code par :

      function ranger() { 
       $valide = "non"; 
       $droit = func_get_arg(1); 
       for ($i = 1; $i < func_num_args(); $i++) { 
        if ($droit == func_get_arg($i)) {$valide = "oui";} 
       } 
       if ($valide == "oui") {return true;} 
       else {return false;} 
      } 
         
      $droit = 7; 
      if (ranger($droit,1,7,12,8,45)) {echo "ok";} 
      else {echo "pas ok";}
      0
    2. le père
       
      Effectivement, c'est plus propre qu'un global.
      0
  2. DoulyCreations Messages postés 265 Statut Membre 19
     
    Bonjour,

    Le problème est simple, tu essayes de saisir des valeurs dans ta fonction alors qu'elle ne le permet pas.

    En gros ta fonction devrait s'écrire dans ce style :
    function ranger($num1,$num2,$num3,$num4,$num5) {


    Cordialement
    Quand on veut on peut ! Ou pas ...
    0