if문 배열 비교

if문 배열 비교

QA

if문 배열 비교

본문

list.skin.php for문 중

for ($i=0; $i < $list_cnt; $i++) { 

if($list[$i]['wr_id'] != $board['bo_1']) continue; //bo_1 : 50  값이 1개

 

 

여분필드값이 여러개 값이든 배열이면 어떻게 if문을 해야할지..

bo_1 : 70|80|90|100|111|112 값이 여러개

 

for ($i=0; $i < $list_cnt; $i++) { 

$zin = explode("|",$board['bo_1']);

if($list[$i]['wr_id'] != $zin[0]) continue;

if($list[$i]['wr_id'] != $zin[1]) continue;

if($list[$i]['wr_id'] != $zin[2]) continue;

if($list[$i]['wr_id'] != $zin[3]) continue;

if($list[$i]['wr_id'] != $zin[4]) continue;

if($list[$i]['wr_id'] != $zin[5]) continue;

 

if문이 여분필드 배열갯수만큼 늘어나서 할수 없을까요?

 

이 질문에 댓글 쓰기 :

답변 2

배열내에 존재하는지 확인하는 in_array 함수 활용해보세요.

if(!in_array($list[$i]['wr_id'], $zin)) continue;

eyekiss님 저번에도 답변해주셨는데 요번에도 답변 해주셔서 감사합니다 ㅎ

부정 !(느낌표)를 빼고 했더니 배열갯수만큼 continue되는것을 확인되었는데

느낌표를 붙히니
if(!in_array($list[$i]['wr_id'], $zin)) continue; 리스트가 출력이 1개도 안되네요..

여분필드 bo_1에 특정 글의 wr_id를 배열로 넣어서
bo_1에 넣어지지 않는 값을 continue하고 싶습니다

if(in_array($list[$i]['wr_id'], $zin)) continue;
in_array에 !느낌표를 빼면
bo_1 배열값과 같은 wr_id가진 글들은 continue 되는걸 확인했는데요.
in_array에 !느낌표를 넣으면 모든 글이 제외가 되는데 왜 이런건지...
bo_1 배열값있는 글들 빼고 continue되야 하는거 아닌가요?ㅜㅜ

continue 를 잘못 이해하는건 아닌가요??
아래의 예제를 참조해보세요..
<?
$bo_1 = "70|80|90|100|111|112";
$wr_id = array('50','60','70','80','90');
$zin = explode("|",$bo_1);
for($i=0; $i<sizeof($wr_id); $i++) {
    if(in_array($wr_id[$i],$zin)) continue;
    echo $wr_id[$i]."<br>";
}
?>

eyekiss님
if(!in_array($list[$i]['wr_id'], $zin)) continue; 잘 됩니다
 제가 문제였네요..ㅠㅠ
  해당 글쓰기 스킨이 무한스크롤에 목록수가 정해져 있어서 안뜨는거였네요..
 목록수를 해당 wr_id까지 나오겠끔 늘려주면 나오네요..
매번 친절한 답변 감사합니다

혹 각각 원하시면 

 

$zin = explode("|",$board['bo_1']);

$counter = count($zin);

for ($i=0; $i < $list_cnt; $i++) {    
     for($k=0;$k<$counter;$k++){
        if($list[$i]['wr_id'] != $zin[$k]) {continue;}
    }
}

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

회원로그인

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