랜덤 최근글 뽑기 질문!!!

latest.skin.php 파일에서

<? srand((double)microtime()*1000000); ?>
<? for($j=0; $j<count($list); $j++) {?>
<? $i= rand(1, count($list)-1);?>
<tr>
<td>$list[$i][subject]</td>
</tr>
<?}?>

위처럼 하면 count($list)만큼 게시판 제목이 랜덤하게 출력되는데
문제는 만약 count($list) = 5와 같다고 가정한다면 제목이 5개가 랜덤하게 출력되는데 중복되는 글이 있을수 있다는 겁니다.
즉, rand() 가 1이 되었다가 다시 루프 돌아서 다시 1이 된다면 게시물이 중복되는 데이터가 들어갈 수 있다는 건데
중복되는 데이터 없이 랜덤하게 count($list) 갯수만큼 게시물을 뽑을 수 있는 방법은 없을까요?

번뜩이는 아이디어좀 내주세요 ^^
|

댓글 1개

간단한 예문입니다.

0,9까지 정수를 arr배열에 넣은다음 섞어버리면 중복되지 않겠죠.

9대신에 count($list)를 적어주면 되겠네요.

<?
$arr = range(0, 9); // 0~9의 정수값을 갖는 배열 생성
shuffle($arr); // 순서를 무작위로 섞는다

for($i=0;$i<10;$i++) echo $arr[$i];
?>

즐거운 하루되세요.
댓글을 작성하시려면 로그인이 필요합니다.

그누3질답

+
제목 글쓴이 날짜 조회
20년 전 조회 767
20년 전 조회 917
20년 전 조회 1,079
20년 전 조회 1,061
20년 전 조회 873
20년 전 조회 1,015
20년 전 조회 804
20년 전 조회 780
20년 전 조회 835
20년 전 조회 905
20년 전 조회 1,002
20년 전 조회 958
20년 전 조회 879
20년 전 조회 1,174
20년 전 조회 1,327
20년 전 조회 885
20년 전 조회 1,029
20년 전 조회 880
20년 전 조회 1,052
20년 전 조회 845