php 문법 질문입니다..
본문
<?php if($user_agent == "mobile" && $_SERVER['PHP_SELF'] != '/fran/_list.php' || $user_agent == "mobile" && $_SERVER['PHP_SELF'] != '/fran/_insert.php' ) { ?>
내용
<?}?>
이게 표현이 안됩니다..
모바일이면서 리스트가 아니거나 이거나
모바일이면서 작성페이지가 아니라면 내용이 나와라 인데 표현이 안됩니다..
어디가 틀린건가요? ㅠ.ㅠ
답변 2
<?php if($user_agent == "mobile" && $_SERVER['PHP_SELF'] != '/fran/_list.php' || $user_agent == "mobile" && $_SERVER['PHP_SELF'] != '/fran/_insert.php' ) { ?>
두가지를 표현하실때
&& 와 || 를 동일선상에 놓으시면
판단 자체가 애매해집니다.
이럴때는 ( ) 를 이용해서 묶어주시는게 좋습니다.
1. 모바일이면서 리스트가 아니거나
2. 모바일이면서 작성페이지가 아니라면
=> 다시 정리하면
1. 모바일이면서
2. 리스트와 작성페이지가 둘다 아닌경우
로 정리가 가능하죠
그러면
if($user_agent == "mobile" &&
!( $_SERVER['PHP_SELF'] == '/fran/_list.php' || $_SERVER['PHP_SELF'] == '/fran/_insert.php' ) )
{
의 형태로 정리가 가능합니다.
구현하신 방식대로도 정리할수있습니다.
if( ($user_agent == "mobile" && $_SERVER['PHP_SELF'] != '/fran/_list.php')
|| ($user_agent == "mobile" && $_SERVER['PHP_SELF'] != '/fran/_insert.php') ) {
( ) 의 위치를 잘 보시면 됩니다.
<?php if( ($user_agent == "mobile" && $_SERVER['PHP_SELF'] != '/fran/_list.php') || ($user_agent == "mobile" && $_SERVER['PHP_SELF'] != '/fran/_insert.php') ) { ?>
내용
<?}?>
해보세요