문의드립니다.

문의드립니다.

QA

문의드립니다.

본문


<?php
//셔플함수
function pfShuffle(&$items) {
    for ($i = count($items) - 1; $i > 0; $i--){
        $j = @mt_rand(0, $i);
        $tmp = $items[$i];
        $items[$i] = $items[$j];
        $items[$j] = $tmp;
    }
 return $items;
}
 

////////////////////////////////////////////////////////////// 배너 시작
//화일명|큰글자|작은글자|링크
$tm_ba = array(
'ep1|딸기|바닐라|/shop/content_product.php?cn_id=sys_ep',
'ep2|딸기|바닐라|/shop/content_product.php?cn_id=sys_ep',
'ep3|딸기|바닐라|/shop/content_product.php?cn_id=sys_ep'
);
////////////////////////////////////////////////////////////// 배너 끝
$rand_tm_ba = array_rand($tm_ba, 2);
$tm_ba1 = explode('|', $tm_ba[$rand_tm_ba[0]]);
pfShuffle($tm_ba1); //배열을 셔플
echo "<div id='tmbanner'>";
for ($i=0; $i<1; $i++) { //반목문
$list = $tm_ba1[$i]; //배열분리
echo "<a href='".$list[$i][3]."' style='background-image:url(".$nimg."/nav_banner/nav1_".$list[$i][0].".png);'><p><h4>".$list[$i][1]."</h4><br />".$list[$i][2]."</p></a>";
}//for
echo "</div>";
?>

 

 

위 코드와 같이 3개의 배열형식을 만들고

그중 2개만 랜덤으로 뽑아

반복문으로 출력을 할려고 합니다.

 

$list = $tm_ba1[$i]; //배열분리

 

이부분이 문제가 있는거 같은데

어디가 문제인지 확인 좀 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 1

일단 내용의 배열을 한번 출력해보시는게

$tm_ba1 = explode('|', $tm_ba[$rand_tm_ba[0]]);

다음에 

print_r2($tm_ba1);

 

pfShuffle($tm_ba1); //배열을 셔플

다음에

print_r2($tm_ba1);

 

원하시는답이 ep1~ep3의 랜덤 아닌가요?

위 내용으로 보면 $tm_ba1의 값 즉 선택된값이

ep1|딸기|바닐라|/shop/content_product.php?cn_id=sys_ep 라고 했을때

이 선택된 내용을 무작위로 바꾸는 구문이 아닌가 싶습니다.

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,674 | RSS
QA 내용 검색

회원로그인

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