2010-08-18 4 views
2

내가 무작위로 만 1 세의 배열을 선택하고 표시 할 방법 등PHP - 멀티 라인 무작위로 배열

 
$language = array 
(
    "1"=>array 
    (
     "Hola", 
     "Spanish" 
    ), 
    "2"=>array 
    (
     "Fáilte", 
     "Irish" 
    ), 
    "3"=>array 
    (
     "Yasou", 
     "Greek" 
    ) 
); 

, 우리가 하나 개되는 두 개의 값이 개되는 두 값 3과 같은 배열을 말해봐 두 개의 값이 있습니다.

그래서 $ language [2] [1], $ language [2] [2]에있는 것과 같습니다.
가되어야하는, Fáilte는 그리스

답변

1

에 그게 전부는 다음과 같은 코드를 사용하여 단어의 임의의 집합을 선택하고 다음과 같이 두 개의 결과 반향 수 있습니다 : 이것은 가정입니다

$row = rand(0,sizeof($language)-1); 
echo $language[$row][0]; 
echo $language[$row][1]; 

을 실제로 배열 대부분의 배열처럼 0부터 시작합니다. 실제로 1부터 시작한다면, 대신 아래 답변에 게시 된 코드를 사용할 수 있습니다.

+0

이 코드는 잘못되었습니다. 임의의 첫 번째 항목과 임의의 두 번째 항목을 선택하며 동일한 배열의 첫 번째 항목과 두 번째 항목은 선택하지 않습니다. – Timwi

+0

또한 마지막 항목을 선택하지 않으며 0을 선택하려고하면 충돌이 발생합니다. – Timwi

+0

좋은 캐치, 고마워. – Sam152

4

PHP는 임의의 배열 함수를 가지고 있습니다 : array_rand(). 그렇게 사용하십시오 :

$random_key = array_rand($language); 
echo $language[$random_key][0]; 
echo $language[$random_key][1]; 
+0

+1, 아마도 더 좋은 해결책입니다. – Sam152