2026, 새로운 도약을 시작합니다.

조건문 질문 채택완료

아래 특정 게시판 아이디에 발생코드를 넣으려고하는데

게시판이 1개가 아닌 여러개를 조건을 걸고싶으면

어떤식으로 처리하면 좋을까요?

Copy


 

if($bo_table="게시판아이디") {

  발생코드

}

 


 

답변 7개

채택된 답변
+20 포인트
여러가지 방법이 있어요
or 이나 and 로 계속 이어서 하는 방법이 있고
else if 로 이어서 하는 방법이 있고
switch 로 이어서 하는 방법이 있어요
Copy

if($bo_table="게시판아이디" or $bo_table="게시판아이디" and $bo_table="게시판아이디" ) { 발생코드 }
Copy

if($bo_table="게시판아이디") { 발생코드 }
else if($bo_table="게시판아이디") { 발생코드 }
Copy

switch ($bo_table) {
    case "게시판아이디":
        발생코드
}
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

switch 방식 추천합니다.

switch ($bo_table) {
case "게시판아이디1":
case "게시판아이디2":
case "게시판아이디3":
실행 코드
break;
case "게시판아이디4":
case "게시판아이디5":
실행 코드
break;
}

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

https://www.php.net/manual/en/function.in-array

가 깔끔한것 같습니다.

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

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

배열형태로 값을 관리하고

in_array로 비교하는 방법입니다.

Copy


$arr_bo_table = array("게시판아이디1", "게시판아이디2", "게시판아이디3",....,"게시판아이디N");

if (in_array($bo_table, $arr_bo_table)) {

   // 존재할때 코드

}

또는

배열로 관리하고

foreach로 비교하는 방법입니다.

Copy


$arr_bo_table = array("게시판아이디1", "게시판아이디2", "게시판아이디3",....,"게시판아이디N");

foreach($arr_bo_table as $k => $value) {

   if ($value == $bo_table) {

     // 존재할때 코드

   }

}

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

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

if(in_array($bo_table, ['free', 'notice', 'gallery'])) {

}

이런 식으로 배열에 담아도 됩니다.

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

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

'or' 또는 '||' 둘중에 하나 사용하시면 됩니다.

그리고 조건의 비교는 '=' 가 아니라 '==' 으로 하셔야 합니다. 

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

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

if($bo_table=="게시판아이디A" || $bo_table=="게시판아이디B") {
  발생코드
}

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

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

여러개에 따른 발생코드의 방식이 동일한 구조라면
사용되어지는 게시판 아이디를

if($bo_table=="게시판아이디" || $bo_table=="게시판아이디")
이런식으로 처리해서 발생코드에 게시판 아이디값을 넣는거라면 이렇게 참고해 처리하면 되지만

만약 발생코드 방식을 다르게 할거라면 switch case 방식으로 처리하셔도 됩니다.
로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고