본문 바로가기
C++ 200제/코딩 IT 정보

php 기초 if else 에서 or || 사용 방법 - strpos 함수

by vicddory 2019. 5. 9.

php 기초 if else 에서 or || 사용 방법 - strpos 함수


이제 갓 공부 시작하는 분들에게 if else 어렵고 or 사용 방법은 더 어려울 텐데요. 쉽게 사용할 수 있습니다. 경험이 적어서 발생하는 문제니깐 경험하면 됩니다.


예를 들어 볼게요.


basename (php_self) 부분에서 


1
2
3
== 'ex1.html'
== 'ex2.html'
== 'view.html'
cs


3개의 html 파일을 열 때 echo 'message' 출력하고 싶은데 or || 어떻게 사용해야 할까요?



▷ PHP IF ELSE 문법 정복!

처음엔 이렇게 생각할 수 있습니다.


1
if (basename(PHP_SELF)=='ex1.html') || (basename(PHP_SELF)=='ex2.html')|| (basename(PHP_SELF)=='view.html')  echo 'message'
cs


그전에, if else 문 기본 형태는 어떻죠?


1
2
3
4
5
6
7
8
9
10
11
12
if( 비교문 )
{
    statement
}
else if ( 비교문 )
{
    statement
}
else
{
    statement 
}
cs


if 뒤에 붙는 ( ) 한 쌍이 하나의 구문입니다. 괄호는 열고 닫고 한 쌍입니다. 쌍만 잘 맞추면 됩니다.


그래서 이런 식으로 소스 코드를 작성할 수 있습니다.


1
2
3
4
5
if ( 
    (basename(PHP_SELF)==\'ex1.html\') ||
    (basename(PHP_SELF)==\'ex2.html\') ||
    (basename(PHP_SELF)==\'view.html\')
    )
cs


( ) 괄호를 기준으로 엔터를 쳐서 개행하여 코드를 작성하면 보기 쉽습니다.



php 기초 if else 에서 or  사용 방법, (strpos 함수)웹 프로그래밍 php if else 문법


▷ 추가 응용 strpos 함수

근데, 추가할 파일 이름이 많아지면 어떡하죠? 3개가 아니라 20개면? 곤란하죠. 그럴 때 strpos 함수를 이용합니다.


파일명 많을 경우 일일이 or || 로 묶지 않고, strpos 함수로 부분 문자를 찾아냅니다. strpos 함수는 파일을 찾으면 true, 못 찾으면 false 리턴합니다.


1
2
3
4
5
6
7
$names = \"ex1.html/ex2.html/view.html\";
 
if(strpos($names, basename($_SERVER[PHP_SELF])))
{
    echo \"seccess!\";
}
?> 
cs


$names 변수에 파일 이름을 모두 추가합니다. 이때 \\, / 등을 구분자로 이용하여 묶습니다. 유지 보수 단계에서도 names 변수만 변경하면 되므로 편리하죠.



관련 글



ⓒ written by vicddory

php 기초 if else 에서 or || 사용 방법 - strpos 함수

댓글