값들을 랜덤으로 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">
!-->
답변을 작성하시기 전에 로그인 해주세요.