값들을 랜덤으로 3개씩 뽑아오려면...

값들을 랜덤으로 3개씩 뽑아오려면...

QA

값들을 랜덤으로 3개씩 뽑아오려면...

본문

$a1 = '<img src="img_a1.jpg">';

$a2 = '<img src="img_a21.jpg">';

$a3 = '<img src="img_a3.jpg">';

$a4 = '<img src="img_a4.jpg">';

$a5 = '<img src="img_a5.jpg">';

$a6 = '<img src="img_a6.jpg">';

 

쉬운듯 싶은데.. 이상하게 잘안되네요 ㅜㅜ

 

위의 6개값을 랜덤으로 중복없이 불러오려고 하는데 어떻게 해야할까요..

 

A | B | C

 

위에같이 3군데에 불러오려고하는데 랜덤으로 불러오되

$a1 값이 A에서 노출이 됐다면 B,C에서는 $a2~$a6중 다른값이 랜덤으로 나오게끔...

$a2 값이 A에서 노출이 됐따면 B,C에서는 $a1,$a3~$a6 중 다른값들이 랜덤으로 나오게끔..

 

그러니깐 중복없이 랜덤으로 A,B,C에 위의 값들이 노출이 되었으면 좋겠습니다^^;;

 

고수님들 선감사드립니다.

 

 

 

 

이 질문에 댓글 쓰기 :

답변 1

일단 위 처럼 $a1~$a6에 이미지를 넣으면 값을 뽑기가 힘듭니다.

각각의 값에 숫자를 넣어서 그 값으로 나중에 이미지에 대입하는게 편하죠.

 
<?php
$a1 = 1;
$a2 = 2;
$a3 = 3;
$a4 = 4;
$a5 = 5;
$a6 = 6;
//$a1~a6은 순차여야 합니다 1,2,4,6  이런식으로 할 수 없습니다
//왜냐구요? php rand()함수 검색해보세요 
//$a 값구하기
$a = rand($a1,$a6);  
//echo($a);
$b = rand($a1,$a6);
if($a == $b) { //b 중복검사
    for(;;) {
        $b = rand($a1,$a6);
        if($a != $b) { //a와 b가 같지 않으면 중단
            break;
        }
    }
}
//echo("<br/>".$b);
$c = rand($a1,$a6);
if($a == $c || $c == $b) { //c 중복검사
    for(;;) {
        $c = rand($a1,$a6);
        if($a != $c ) { //a와 c가 같지 않으면
            if($b != $c) { //b와 c가 같지 않으면 중단
                break;
            }
        }
    }
}
//echo("<br/>".$c);
echo("<br/> a == ".$a." b == ".$b." c == ".$c);
?>

이제 $a $b $c값을 구했으니 이 값으로 이미지 불러오면 되겠지요

​<img src="img_<?=$a?>.jpg">

<img src="img_<?=$b?>.jpg">

<img src="img_<?=$c?>.jpg"> 

답변을 작성하시기 전에 로그인 해주세요.
전체 25
QA 내용 검색
filter #php ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT