2016-09-23 4 views
-1

무작위로 배열에서 값을 선택하고 싶지만 성능면에서 가장 좋은 방법은 아닙니다. 저는 초보자 일 뿐이므로 무작위 값에 대한 많은 방법을 알지 못하고 성능과 정확한 차이에 어떤 영향을 미치는지 모릅니다. 예 : "mt_rand"는 "rand"기능보다 4 배 빠릅니다. 나는 이름이 배열이있는 경우무작위 값 옵션

:

$myarrayofnames = ["Marcelle","Caroll","Kristina","Tisha","Filomena","Vesta","Josphine"]; 

을 내가 그들로부터 선택하려면, 내 옵션은 무엇입니까? mt_rand()rand() 임의의 어떤을 생성 단지에 대한 것을

+0

사용'셔플에 대해 배우고 싶다면()''셔플 ($ myarrayofnames)'임의 위해, 얼마나 많은 값이 무작위로 얻을 싶어. ? – devpro

+0

오직 하나만 ... 그래서, 나는 이것을 좋아한다 :'$ shuffle ($ myarrayofnames);'그리고 나서? – winadalwin

+0

[배열에서 임의의 값을 얻는 방법] (http://stackoverflow.com/questions/1643431/how-to-get-random-value-out-of-an-array) – iainn

답변

1

참고.

From the Manual:에는, mt_rand - 당신이 임의의 값을 얻기 위해 array_rand()를 사용하여 배열의 임의의 정수

생성 - 더 나은 임의의 값을

From the Manual: 랜드를 생성합니다.

예 : 그냥 두 번째 PARAM에 1을 전달할 수있는 것보다 당신이 당신 배열에서 하나의 단일 값을 원하는 경우

$myarrayofnames = ["Marcelle","Caroll","Kristina","Tisha","Filomena","Vesta","Josphine"]; 
$randomNo = array_rand($myarrayofnames,1); 
echo $myarrayofnames[$randomNo]; // this will print the random value 

.

배열의 값이 두 개 이상인 경우 배열 인덱스 수에 따라 no을 전달할 수 있습니다. 이 경우 array_rand()은 배열을 반환합니다.

당신이 Difference between mt_rand() and rand()