Problème dans mon code php

Résolu/Fermé
Aka13 Messages postés 153 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 - 25 janv. 2012 à 04:56
 le père - 26 janv. 2012 à 11:34
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

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 jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 8
Modifié par Aka13 le 25/01/2012 à 22:50
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
Effectivement, c'est plus propre qu'un global.
0
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
Modifié par DoulyCreations le 25/01/2012 à 08:15
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