supérieure à x et à moins d'y php ne fonctionne pas
Je suis en train de déclarer une variable en fonction de ce que le nombre est.
Je suis en train de faire "si $var est moins que la somme de [montant] et plus grand que la somme de [montant] var = bla elseif $var est moins que la somme de [montant] et plus grand que la somme de [montant] var = bla", etc. Voici mon code:
$randomNumber = rand(1, $funnyPicsHigh);
if($randomNumber > 0 && $randomNumber < 2001){
$directory_to_use = 1;
}elseif($randomNumber > 2000 && $randomNumber < 4001){
$directory_to_use = 2;
}elseif($randomNumber > 4000 && $randomNumber < 6001){
$directory_to_use = 3;
}elseif($randomNumber > 6000 && $randomNumber < 8001){
$directory_to_use = 4;
}elseif($randomNumber > 8000 && $randomNumber < 10001){
$directory_to_use = 5;
}elseif($randomNumber > 10000 && $randomNumber < 12001){
$directory_to_use = 6;
}elseif($randomNumber > 10000 && $randomNumber < 12001){
$directory_to_use = 7;
}elseif($randomNumber > 12000 && $randomNumber < 14001){
$directory_to_use = 8;
}elseif($randomNumber > 14000 && $randomNumber < 16001){
$directory_to_use = 9;
}elseif($randomNumber > 16000 && $randomNumber < 18001){
$directory_to_use = 10;
}elseif($randomNumber > 18000 && $randomNumber < 20001){
$directory_to_use = 11;
}
J'ai commencé à l'aide de if then elseif pour tout, j'ai ensuite changé de sorte qu'il est >= et <=, ne fonctionne toujours pas, alors j'ai essayé de mettre "" avant et après mes chiffres, qui est ce que vous voyez maintenant, ne fonctionne toujours pas.
Le nombre aléatoire exécute très bien, mais il semble à choisir aléatoirement répertoire. Je vais rafraîchir la page et il choisit les 5 pour le répertoire à utiliser. Je l'actualiser à nouveau et elle en prend 1, prend alors la 1, puis prend 3. Il semble tout simplement choisir au hasard un nombre.
Ce que je fais mal?
COMPRIS, merci à vous tous. C'était à cause de ma logique de ne pas le code fourni. Parler à haute voix pour essayer d'expliquer mon problème, c'est ce qui m'a aidé donc merci. Si vous vous demandez ce que le code de travail est, c'est par ici:
http://pastebin.com/en2sc3HC
Vous n'avez pas besoin de guillemets autour des numéros depuis rand() renvoie un int.
Je n'ai pas, si vous lisez mon post j'ai dit que a l'origine, je n'ai pas les guillemets, mais un sens qui ne fonctionne pas j'ai essayé d'ajouter les guillemets pour voir si peut-être mes ints étaient les chaînes de caractères ou l'autre manière autour. J'ai essayé les deux, ni travaillé.
Je suis confus, n'est-ce pas le comportement attendu? Un nombre aléatoire de déterminer un répertoire de produire de façon aléatoire un répertoire...
N'est-ce pas comportement aléatoire ce que vous êtes censé m'attendre étant donné que vous êtes de choisir un nombre aléatoire sur la première ligne? Pour des fins de test, vous pouvez faire
$randomNumber = 3000;
et de voir si votre code renvoie correctement $directory_to_use = 2;
OriginalL'auteur Travis | 2012-01-30
Vous devez vous connecter pour publier un commentaire.
Votre code peut être considérablement simplifiée
si c'est une faute de frappe
En effet, ou l'utilisation
ceil()
en place defloor()
et le fossé de la+ 1
Merci ) je pensais à ce sujet, mais l'OP de la typo qui me confond (j'ai essayé de trouver quel est le problème avec les derniers numéros), c'est pourquoi j'ai oublié de le réécrire avec ceil. Je vais corriger ça 🙂
Je suis sûr que mon code peut être simplifié, cependant que l'exemple spécifique de ne pas travailler pour l'application que j'utilise.
Vous êtes les bienvenus. J'ai rencontré le même problème quand je l'ai testé. 🙂
OriginalL'auteur Cheery
J'ai couru votre code est dans une boucle 100 fois, avec les déclarations suivantes à la fin:
Et suis sortie comme ceci:
En bref, votre code fonctionne comme prévu.
$directory_to_use
à 7 en raison de la le bug signalé par CeriseOriginalL'auteur xbonez
De la PHP docs:
Donc, à l'aide de guillemets autour du nombre de littéraux ne devrait pas être un problème. Le déplacement sur..
... rien! Si elle change de manière aléatoire à chaque fois que vous actualisez la page, il doit être en cours d'exécution
rand()
à chaque fois. Si vous souhaitez que le répertoire de persister après actualisation de la page, pensez à l'enregistrer dans une variable de session, vérifier si elle est définie au chargement de la page, et si oui, ne pas re-générer. La combinaison de cette idée avec @joyeux:OriginalL'auteur paislee