묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
그룹이 여러개가 있을때 조건문
2015.01.21 07:43
초보입니다 살살부탁드려요
끼워맞추기로
<?php
foreach($logged_info->group_list as $key => $val);
if($val == 'A'){
XXXXXXXX
}
?>
여기까지는 했는데 A라는 그룹이면 넘어가라
실제 설정을 해보았더니...
속한 그룹이 하나가 아니라 A가 있고 1이 있는 상태
유저1의 그룹 (A,1) 이런 형태로 되어 있는대요
마스터의 그룹이 (관리그룹,1,A) 일때는 저 조건문에 통과되는데
하지만 유저1의 그룹 (A,1)일때는 못 통과하네요
유저1을 (A) 단독 그룹으로 설정하면 통과합니다
가르침 부탁드리겠습니다
당연히 그렇게 나옵니다.
foreach 문 끝에 세미콜론(;)이 있기 때문에 foreach 문 한 줄만 loop를 돌게 되고, 그 루프가 끝난 후 아래의 if 문을 처리합니다.
그러니, 마지막 $val 값만 갖고 비교하는 꼴이 되지요.
foreach($logged_info->group_list as $key => $val) {
if($val == 'A') {
XXXXXXX
}
}
이렇게 하던가,
if(in_array('A', $logged_info->group_list)) {
XXXXXXXX
}
이렇게 foreach 없이 in_array 함수를 써도 됩니다.
참고) in_array
그리고, 한 줄짜리 루틴이라도 괄호{}를 열고 닫는 습관을 들이시는 것이 좋습니다.