Problème dans mon code php

Résolu
Aka13 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -  
 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.
A voir également:

2 réponses

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
Aka13 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   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
le père
 
Effectivement, c'est plus propre qu'un global.
0
DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   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