Problème dans mon code php

Résolu
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. 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. 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";}
    2. Effectivement, c'est plus propre qu'un global.
  2. 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 ...