문의드립니다.
본문
<?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 라고 했을때
이 선택된 내용을 무작위로 바꾸는 구문이 아닌가 싶습니다.
답변을 작성하시기 전에 로그인 해주세요.