Aller au contenu

Fonction Include(); Aléatoire


Invité Terry

Messages recommandés

Salut,

Je recherche un script php : la fonction include aléatoire.

Par exemple, j'ai crée 3 menus différents, et j'aimerais que le menu s'affiche differemment à chaque fois :

include("./menu1.php");

include("./menu2.php");

include("./menu3.php");

Comment fait-on ?

Lien vers le commentaire
Partager sur d’autres sites

Dans ce cas faut ruser :rolleyes:

$fichiers = array('rouge', 'vert', 'bleu');
$taille = count( $fichiers) - 1;

include( $fichiers[ rand(0, $taille) ] .'.php');

Dans ce tableau, comme il n'est qu'à une dimension, un index (1,2,3 etc.) est automatiquement créé et chaque élément a donc un numéro correspondant.

Faut juste faire gaffe car l'index commence à 0 et non à 1, d'où la décrémentation de $taille ;)

Lien vers le commentaire
Partager sur d’autres sites

Tu ne sais pas si ça peut poser problème si on "include" un fichier qui contient "include" ?

Perso j'ai jamais eu de problème en faisant ça. <_< Le Include ne fait jamais que prendre le fichier dans la commande include et l'intégrer dans le fichier dans lequel se trouve l'include (en gros). Le seul problème c'est éventuellement des problèmes de variables si tu as des variables de même nom mais qui ne servent pas à la même chose.

Par exemple si tu as un $result qui contient le résultat d'un mysql_query() avant le include, que dans ton fichier inclus la même variable contienne par exemple un integer, si après l'exécution de ton include tu veux faire un mysql_fetch_array($result) bah forcément ça coince. :delire:

Lien vers le commentaire
Partager sur d’autres sites

Dans ce cas faut ruser :unsure:

$fichiers = array('rouge', 'vert', 'bleu');

$taille = count( $fichiers) - 1;

include( $fichiers[ rand(0, $taille) ] .'.php');

J'ai l'impression que rouge.php apparait beaucoup plus souvent.

Est-il possible de mettre une probabilité d'apparition ?

Exemple :

rouge.php = 20 %

vert.php = 65 %

bleu.php = 15 %

Lien vers le commentaire
Partager sur d’autres sites

J'ai l'impression que rouge.php apparait beaucoup plus souvent.

Est-il possible de mettre une probabilité d'apparition ?

Exemple :

rouge.php = 20 %

vert.php = 65 %

bleu.php = 15 %

La fonction rand() en PHP fait du "pseudo-aléatoire" (dixit la doc de Nexen) et n'est donc qu'un truchement. Il n'existe pas de "vraie" fonction pour choisir un nombre de manière aléatoire en PHP, donc ne t'étonnes pas que certains résultats apparaissent plus souvent que d'autres. J'ai remarqué ça moi aussi.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...

Information importante

By using this site, you agree to our Conditions d’utilisation.