CI 묻고 답하기

제목 서로다른 난수를 생성하려고 합니다
글쓴이 세콩 작성시각 2011/12/05 09:56:47
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 24378   RSS
로또에서 공뽑듯이

토탈 개수에서 몇개를 뽑으려고해요
(ex) 0 - 10000 에서 서로다른 정수  5개를 뽑고싶어요



일감으로는 

mt_rand(0, $max)

이정도로 값을 뽑아 배열에 넣은뒤 일치하는게 없으면 집어넣는 식으로 로직을 짜보았는데..

숫자가 커지면 커질수록 계산과정에 부하가 걸릴것같아서... 고민이네요..



좀더 깔끔하게 구현할 방법이 무언가 있지 않을까 싶어서 구글링하는 도중에 이렇게 질문올립니닷


 다음글 페이스북 계정으로 로그인 할 경우 세션 데이터 문제 (4)
 이전글 ci로 jquery ajax로 값 넘기려고합니다. (1)

댓글

세콩 / 2011/12/05 10:14:44 / 추천 0
 아핫 구글 짜응 -0-

array_rand 로 섞어서 자체로 뱉어주는 기능이 있군효 ㅇㅅㅇ
세콩 / 2011/12/05 10:19:29 / 추천 0
 array_rand(array $input, $num_req)

Pick one or more random entries out of an array

Parameters:
input array

The input array.

num_req int[optional]

Specifies how many entries you want to pick. Trying to pick more elements than there are in the array will result in an E_WARNING level error.

Returns:
mixed If you are picking only one entry, array_rand returns the key for a random entry. Otherwise, it returns an array of keys for the random entries. This is done so that you can pick random keys as well as values out of the array.
link
http://www.php.net/manual/en/function.array-rand.php 
변종원(웅파) / 2011/12/05 10:31:19 / 추천 0
php에는 평생 개발해도 다 써보지 못할 정도로 함수가 많이 있습니다.

1. php.net에서 맞는 함수가 있는지 검색

2. 없다면 phpclasses.org에서 해당기능을 하는 클래스가 있는지 검색

3. 구글링

^^

예전에 보면 phpschool에서 간혹 나오는 해프닝이 신입이나 초보분들이 열심히 
어떤 로직에 대한 함수 만들어서 tip에 올리면 다른 분이 한 줄 댓글을 답니다.
거기엔 php함수명이 적혀있죠.

언어를 배울때 강사가 처음에 하는 말이 있습니다. 레퍼런스나 매뉴얼 참고하라고...
SEB / 2011/12/05 15:39:45 / 추천 0
array_rand()는 배열에서 랜덤 키를 리턴해주는것 같은데,,
질문하신분은 배열에 넣을때 중복제거를 효과적으로 하는 방법을 물어보신거 아닌가요?

그런데 어떤 숫자가 커지신다는건지;; $max가 커지는건가요 아님 뽑는갯수(5개)가 커지는건가요?
세콩 / 2011/12/05 16:12:40 / 추천 0
SEB // 제가 궁금했던 점은 더 좋은 로직 구현인데 결과적으로 array_rand() 를 사용하여 해결 할수있었어요

커지는것은 뽑는 개수가 커지는 경우 입니닷 ㅇㅅㅇ; 제가 너무 정신없이 질문을 올리다보니.. ㅎㅎ;