테스트 사이트 - 개발 중인 베타 버전입니다

php 셔플 소스좀 알려주실수있나욤? 채택완료

블루블랙 6년 전 조회 1,994

 

위의 소스는 php를 이용해서 A.jpg배너와 B.jpg배너를 

랜덤의 확률로 번갈아가면서 1개만 노출시키는건데요

 

만약 이렇게 하지않고 2개의 배너 모두 보이게하되

자리만 서로 랜덤의 확률로 셔플 시키고자 하면 위의

소스를 어떻게 바까야할까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
루미집사

</p>

<p><?</p>

<p>$rand = rand(0,1);

$href = array( 'www.naver.com', 'www.daum.net');

$src = array( '/img/A.jpg', '/img/B.jpg');</p>

<p>if($rand==1) {

    $a = "1";

    $b = "0";

} else {

    $a = "0";

    $b = "1";

}

?></p>

<p><div class="banner">

<a href="<?php echo $href[$a];?>"><img src="<?php echo $src[$a];?>"></a>

<a href="<?php echo $href[$b];?>"><img src="<?php echo $src[$b];?>"></a>

</div>

 

또는 아래와 같은 방법이 있습니다.

2개 이상의 배너를 랜덤으로 노출할 경우...

</p>

<p><?php</p>

<p>$banner[] = array(

    'href'=>'www.naver.com',

    'src'=>'/img/A.jpg'

    );

$banner[] = array(

    'href'=>'www.daum.com',

    'src'=>'/img/B.jpg'

    );</p>

<p>$max = count($banner); // 배너의 총갯수

$idx = range(0,($max-1),1); //배너의 최대갯수까지의 연속된 숫자 배열을 생성

shuffle($idx); // 생성된 숫자배열을 섞는다.

?></p>

<p><div class="banner">

<?php for($i=0; $i<count($banner); $i++) { ?>

<a href="<?php echo $banner[$idx[$i]]['href']; ?>"><img src="<?php echo $banner[$idx[$i]]['src'];?>" />

<?php } ?>

</div>

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

블루블랙
6년 전
감사합니다 잘되네요^^
그런데 padding-bottom 이 안먹히는것같아요
다시 질문 게시판에 질문 올렸는데요 혹시 시간되시면 봐주시면 감사하겠습니당

댓글을 작성하려면 로그인이 필요합니다.

6년 전

url과 img를 이미 갖고 있고 고정되어 있다면 아래 코드로 하는 것도 있습니다.

       
  •    

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인