채택완료

조건문 질문

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

 

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

 

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

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

 
|

답변 7개 / 댓글 1개

채택된 답변
+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;
}

배열형태로 값을 관리하고

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 방식으로 처리하셔도 됩니다.

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