묻고답하기

안녕하세요?

페이지를 로딩할때마다 다수의 등록된 음악의 순서가 뒤섞여 다른 순서대로 재생하려고합니다.
물론 페이지가 로딩될때 여러음악이나 이미지중에서 하나를 랜덤하게 추출해서 뿌려주는건 이해가되고 실제로 활용도하고 있습니다만, 이놈도 비슷할것같은데 의외로 당췌.... ^^;;
머리가 정말 스톤인가봅니다... ㅠ..ㅠ

예를들어, m1 ~ m5의 음악이 있다고 할때 접속할때마다 아래와 같이 순서가 막 뒤섞이게하려합니다.

case1 : m1,m3,m5,m4,m2
case2 : m3,m2,m5,m1,m4
...............

rand() 또는 mt_rand()을 써서 1 ~ 5까지 임의의 숫자를 추출해서 뿌릴려고시도했습니다만, 문제는 숫자가 중복되어 나오는 경우인데 1 ~ 5가 하나씩 모두 나타나게하려니...

대략적인 소스는 아래와 같습니다. (m1~m5의 음악을 임의의 순서대로 하나씩 music.asx에 저장하여 재생하는 형식입니다)

답변해주심 무척 감사하겠습니다... (--)(__)

##########################################

$song_no = 5;

$m[1] = "mms://xxx/1.wma";
$m[2] = "mms://xxx/2.wma";
$m[3] = "mms://xxx/3.wma";
$m[4] = "mms://xxx/4.wma";
$m[5] = "mms://xxx/5.wma";


for ($i=1;$i<=$song_no;$i++) {
mt_srand ((double) microtime() * 1000000);
$music[$i] = $m[mt_rand(1,$song_no)];
}

for ($k=1;$k<=$song_no;$k++) {
$list .= "$music[$k]n";
$fp=fopen(music.asx,"w");
flock($fp,2);
fwrite($fp,$list);
fclose($fp);
}

############################################


++++++++++++++++++++++++++++++++++++++++++++

고민하다 아래와 같은 허덥한 방법으로 해결했습니다. -,.-;;
진짜 알고리즘같은 방법을 아시는 분은 리플 좀 달아주세요...

$song_no = 5;

$m[1] = "mms://xxx/1.wma";
$m[2] = "mms://xxx/2.wma";
$m[3] = "mms://xxx/3.wma";
$m[4] = "mms://xxx/4.wma";
$m[5] = "mms://xxx/5.wma";


for ($i=1;$i<=$song_no;$i++) {                  // 난수발생루틴

mt_srand ((double) microtime() * 1000000);
$music[$i] = $m[mt_rand(1,$song_no)];

  for ($r=1;$r<$i;$r++) {                       // 한개씩 이전 난수와 비교루틴

    if ($music[$i]==$music[$r]) {
    $music[$i] = $m[mt_rand(1,$song_no)];       // 같은 난수이면 다시 난수 생성
    $i--;                                       // 이 개념을 깨닫는데 고생함... ㅡㅡ+, 상위 루틴의 루프를 한단계 다시 땡김
    }

  }

}

for ($k=1;$k<=$song_no;$k++) {
$list .= "$music[$k]n";
$fp=fopen(music.asx,"w");
flock($fp,2);
fwrite($fp,$list);
fclose($fp);
}

++++++++++++++++++++++++++++++++++++++++++++



글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
이봉석 PHP 인스톨시..  
김선미 406 에러는 무슨 에러예요??? [2] 2007.08.10
김홍서 제홈페이지 로그인이 안돼는 이유가 뭐졍? -_-? [2] 2007.08.10
엉엉-_ㅠ 윈도우에 대해서!! [1] 2007.08.10
이병현 [질문] 함수내부에서 정의된 변수의 값을 밖에서 가져오기?(글로벌 말고요!!!) [1] 2007.08.10
CeZio Linux 상에서의 APM 삭제하는 방법... [1] 2007.08.10
최준승 노프레임관련 질문입니다. [2] 2007.08.10
이민지 폰트 이름이 뭔지 좀 알려주세요... [1] 2007.08.10
김승석 [급] 초보에게 웹메일 가르켜 주세요~~~  
이용훈 [질문] iframe을 사용할수 없다면..  
쭈니 새창 띄울때.... [1] 2007.08.10
블루문 테이블에 링크거는것에 대해  
『착v엘리v한』 이런 텍스트는 어떻게 만드나요?  
marrs 이렇게 어케 만들져? [2] 2007.08.10
임준환 현재 위치 나타내는 스크립트좀 알려주세요..  
aquivalley [자료요청] nzeo 홈처럼 마우스 올리면 그림뜨면서 링크를 걸수 있는 소스(제로님 홈 메뉴소스)  
지만 [질문/쾌변부탁] 신문사 홈페이지를 만들려고 하는데요... [3] 2007.08.10
britdew 프레임만들기에 대한 질문 [1] 2007.08.10
골때리 [자문자답] rand()을 이용한 순서뒤섞기????? [5] 2007.08.10
빵이저아~^^* 제목을 몇자 이내로 줄여줄수 잇을까요?? [2] 2007.08.10
김선덕 동영상 전체보기 어케 제어하는 거예염~?? [1] 2007.08.10
김진수 [질문]제로 보드의 아이콘의 무슨 폰트인가요?? [2] 2007.08.10
*^^* 자동감소?? auto_increment의 반대는요?ㅡㅡ;; [1] 2007.08.10
권정안 윈도우 운영체제에서 mysql과 php가 지원이 되려면 어떻게 해야 합니까? [1] 2007.08.10
오유경 아이프레임을 원하는 위치에 넣으려면... [2] 2007.08.10
iwith 지금 이 페이지 노 프레임인가여? [2] 2007.08.10
:토깽이:펑펑놀자. 극히 초보적인 질문 [2] 2007.08.10
^^*궁금이*^^ 아파치웹서버 서치및 설정방법좀 갈켜주세요...ㅜ.ㅜ [2] 2007.08.10
설경희 툴팁안에 iframe가 되나요? [2] 2007.08.10
Siny 자바스크립트 공부중인데 이거좀 바주세여.... [2] 2007.08.10