2011-01-19 4 views
1

Bonjour Je voudrais avoir un code qui affiche aléatoirement d'un tableau un nombre et l'affiche. Par exemple ce codeAfficher un nombre de tableau dans PHP

<?php 
$firstquarter = array(1 => 'January', 'February', 'March'); 
print_r($firstquarter); 
?> 

retournera

Array 
(
    [1] => January 
    [2] => February 
    [3] => March 
) 

Au lieu de cela, je voudrais afficher sur

+0

Souhaitez-vous quelque chose comme [ 'array_rand'] (http://www.php.net/manual/en/function .array-rand.php)? Vos questions ne sont pas * ce * clair ... – miku

+1

Encore une fois que vous quêtes n'est pas très clair. Précisez s'il vous plaît. – Simon

+0

Noy votre question est très floue, ce qui définit la différence de 15h00 et 18h00? – RobertPitt

Répondre

2

utilisation rand()

$iIndex = rand(1, count($firstquarter)); 
echo $firstquarter[$iIndex]; 

Cela suppose que vous avez un tableau indexé avec des clés consécutives.

+2

et pourquoi pas 'array_rand'? – RobertPitt

+0

Oh super pour ça. J'ai trouvé ce code Cependant, je veux une gamme différente dépend du temps. Par exemple, si l'heure du serveur est 15:00 à 18:00, la plage sera différente de 18:01 à 21:00 et ainsi de suite. MISE À JOUR DE L'ENSEMBLE DE LA QUESTION – JohnQ

+0

@RobertPitt Ha. ne jamais rencontrer cette fonction. Soumets ta propre réponse et je te donnerai un vote. – Simon

2

Vous devez array_rand():

echo $firstquarter[array_rand($firstquarter)]; 

Je ne sais pas si c'est ce que vous voulez, mais ici il va:

echo mt_rand(intval(date('H')/3) * 4, intval(date('H')/3) * 5); 
+0

La question a été annulée à mesure que l'OP changeait tout le contexte de la question, +1 pour l'afficher quand même. – RobertPitt

+0

@RobertPitt: Oui, je vois. Je me suis un peu confondu avec le rollback là-bas. –

Questions connexes