묻고답하기

안녕하세요?

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

예를들어, 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 남기남
양정모 mail에서는 iframe 먹히지 않나요?  
박은지 PHP+MySQL 설치 어떻게 해요?  
NJ ---------- + 설계도면효과 +  
여나 메모장으로 뜨는 html소스에 문제가 있네요.. [2] 2007.08.10
DeX™ 7.3에서 A(2.0)P(4.2)M(3.23) 설치 성공하신분 계신가요?  
주여리 닷플 사이트에서 이거 어떻게 한것인지 강좌좀 부탁드립니다.  
이종복 [re] 닷플 사이트에서 이거 어떻게 한것인지 강좌좀 부탁드립니다. [1] 2007.08.10
이재원 서버를 구입하고 싶은데여.. [1] 2007.08.10
김대성 [제로보드] 처음에 제로보드로 공지 같은거 띄울려고 하는데요...  
Siny 자바스크립트 좀 봐주세여. [1] 2007.08.10
최정훈 죄송... 넘 초보라 꼭물어봐야겠네여.... [1] 2007.08.10
반죽왕 상식적인 서버 질문... [3] 2007.08.10
이성희 [에러] checkbox 공부중... 에러나는데여..왜 그러는지.. [2] 2007.08.10
무혼 [php]음..클릭할때 값을 넘겨서.. [1] 2007.08.10
깔깔마녀 포토샵 7.0 에서는 어떤걸 해야하나요!? [2] 2007.08.10
liebeu96 쿼리문(테이블 생성) [2] 2007.08.10
sisazz 한번 클릭해서 두 프레임에 영향을 끼치는.. [3] 2007.08.10
:토깽이:펑펑놀자. 뭐가 잘못되었나요? [1] 2007.08.10
이훈재 [스킨제작] 게시물의 정렬 문제...꼭 답변 좀^^*  
최진아 전에 nzeo.com 디자인요..  
최진아 테이블 질문요  
Siny 자바스크립트 공부중인데 이거좀 바주세여.... [2] 2007.08.10
설경희 툴팁안에 iframe가 되나요? [2] 2007.08.10
^^*궁금이*^^ 아파치웹서버 서치및 설정방법좀 갈켜주세요...ㅜ.ㅜ [2] 2007.08.10
:토깽이:펑펑놀자. 극히 초보적인 질문 [2] 2007.08.10
iwith 지금 이 페이지 노 프레임인가여? [2] 2007.08.10
오유경 아이프레임을 원하는 위치에 넣으려면... [2] 2007.08.10
권정안 윈도우 운영체제에서 mysql과 php가 지원이 되려면 어떻게 해야 합니까? [1] 2007.08.10
*^^* 자동감소?? auto_increment의 반대는요?ㅡㅡ;; [1] 2007.08.10
김진수 [질문]제로 보드의 아이콘의 무슨 폰트인가요?? [2] 2007.08.10