2011-01-19 5 views
1

안녕하세요. 배열에서 임의로 숫자를 표시하는 코드를 갖고 싶습니다. 예를 들어 이 코드PHP 배열에 숫자를 표시하십시오.

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

대신이의

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

를 반환합니다, 나는 이것이 당신이 가정

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

+0

당신은 ['array_rand'] (http://www.php.net/manual/en/function 같은 것을 찾고있다 .array-rand.php)? 귀하의 질문은 * 그게 분명하지 않습니다 ... – miku

+1

다시 당신은 questing 매우 명확하지 않습니다. 명확히하십시오. – Simon

+0

귀하의 질문은 명확하지 않습니다. 15시와 18시의 차이점은 무엇입니까? – RobertPitt

답변

2

사용 랜드()에 표시하고 싶은 연속 한 키를 가지는 1 개의 인덱스 첨부 배열

간단한 기능은 array_rand

예라는

+2

왜'array_rand'가 아닌가? – RobertPitt

+0

오 그레이트. 이 코드를 찾았습니다. 그러나 시간대에 따라 다른 범위가 필요합니다. 예를 들어, 서버 시간이 15:00에서 18:00 사이 인 경우 18:01에서 21:00까지와 다른 범위를 가지게됩니다. 전체 질문 업데이트 – JohnQ

+0

@RobertPitt 하. 그 기능을 가로 질러 오지 마라. 자신의 답변을 제출하면 투표 할게요. – Simon

2

당신이 필요 array_rand() :

echo $firstquarter[array_rand($firstquarter)]; 

나는 이것이 당신이 원하는 경우에 확실하지 않다 그러나 여기 간다 :

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

OP는 질문의 전체 컨텍스트를 변경 했으므로 질문이 롤백되었습니다. 어쨌든 +1로 게시됩니다. – RobertPitt

+0

@RobertPitt : 알았어. 나는 롤백과 다소 혼란 스럽다. –