php학습 #3 조건문, 연산자, 반복문

2020. 11. 30. 13:50개발&TIL/php

조건

PHP 프로그램의 모든 표현식은 참 또는 거짓이라는 진위값(truth value)로 표현

스칼라 값은 대부분 참이고 0, 0.0을 제외한 모든 정수와 부동소수점 수는 참

아무것도 담지 않은 문자열과 0이라는 글자 하나만 담은 문자열, 이 두가지를 제외한 모든 문자는 참

특수한 상수인 false와 null은 거짓을 나타내고 이 여섯가지를 제외하고 모든 값이 참

추가적으로 빈 배열도 false

if()를 이용하여 특정 조건이 참일때만 실행되는 구문을 프로그램에 넣을 수 있음.

if() 코드 블럭에는 여러 구문을 넣을 수 있음

if else elseif 구조를 확장하여 여러 조건 표현식을 개별적으로 검사 가능

if() 이후에 중괄호가 없을 경우 하나의 구문만 해당 조건 판단에 의해 판단됨

중괄호를 빼버리면 코드를 읽을 때 혼동을 일으킬 수도 있으므로 항상 사용하는 것을 추천

//ex)

if ($logged_in) {
    //참일때만 실행
    print "환영합니다 정회원님.";
} elseif ($new_messages) {
    print "새로운 메시지가 있습니다.";
} else {
    print "반갑습니다 방문자님.";
}

'='는 할당 연산자이고 ==는 비교 연산자이다

'=='을 써야 할때 =을 쓰게 될 경우 if()와 같은 구문에서는 항상 참이 되어 버림

//ex)

if ($new_message = 12) {
    //12가 할당되어 항상 참임
    print "new message";
}

'!=' 부등연산자는 두값이 다르면 참을 반환

연산자 '<'와 '>' 는 크기를 비교할 때 사용 ('<', '>', '<=', '>=' 사용가능)

유용한 함수

  • abs(): 함수는 인수로 입력된 값을 절대값으로 반환
  • strcmp(문자열1, 문자열2): 1번 문자열이 2번 문자열보다 크면 양수, 작은면 음수, 같으면 0을 반환

우주선 연산자('<=>')

  • php 7에서 도입, 이전 버전에서는 일반 비교 연산자 사용 필요
  • strcmp()와 비슷하지만 모든 자료형에 사용가능
  • 왼쪽 값이 오른쪽보다 크면 양수 작으면 음수 같으면 0 반환

진위값을 부정시에는 부정연산자('!')를 사용

논리 연산자 '&&'는 두 표현식이 모두 참일때만 참 '||'는 두 표현식중 하나라도 참이면 참을 반환

//ex)

if (($age >= 13) && ($age < 65)) {
    print "아동 할인이나 경로 우대 할인 대상자가 아닙니다.";
}

if (($meal == '아침') || ($dessert == '수플레')) {
    print "달걀 먹을 시간이로군.";
}

반복문

프로그램의 일부분을 반복해서 수행하는 것을 루프 구조(looping)라고 하고 반복작업을 수행할때 사용

for(), while() 등의 함수

while()

  • if()과 비슷하게 표현식을 검사하고 결과가 참이면 코드블럭을 다시 실행(표현식이 참이면 계속 실행)
  • while()는 코드블록의 내부에서 조건표현식의 결과를 변화시키는 작업이 필요
//ex) while()로 출력하기

$i = 1;
while ($i <= 10) {
print "$1\n";
$i++;
}

for()

  • for() 구조는 while() 함수보다 복잡하다.
  • for(초기화 표현식; 조건 표현식; 순회 표현식)
//ex) for()로 출력하기

print '<select>';
for ($i =1; $i <= 10; $i++) {
print "<option>$i</option>\n";
}
print '</select>';

for() 루프의 초기화 표현식 및 순회 표현식에는 표현식 여러 개를 조합해 사용 가능

//ex) for() 다중 표현식 사용하기

print '<select name="doughnuts">';
for ($min =1, $max =10;$min < 50; $min += 10, $max += 10) {
print "<option>$min - $max</option>\n";
}
print '</select>';
728x90

'개발&TIL > php' 카테고리의 다른 글

php학습 #4 배열  (1) 2020.12.03
php학습 #2 문자, 변수  (0) 2020.11.23
php학습 #1 기초  (0) 2020.11.18