Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP 표현식 완벽 정리: 값이 있는 모든 것은 표현식이다


PHP 표현식이란?

PHP 스크립트에서 거의 모든 것은 표현식(expression)입니다. 간단히 말해 값을 가지는 것이라면 무엇이든 표현식입니다. 일반적인 대입문인 $x = 100;을 예로 들면, 리터럴 값, 함수 호출, 연산자가 처리한 피연산자 등 대입 연산자(=)의 오른쪽에 나타나는 모든 요소가 표현식에 해당합니다.

표현식의 기본 문법

다음 예제는 다양한 형태의 표현식을 보여줍니다.

$x=100;         // 100은 표현식입니다
$a=$b+$c;       // $b+$c는 표현식입니다
$c=add($a,$b);  // add($a,$b)는 표현식입니다
$val=sqrt(100); // sqrt(100)은 표현식입니다
$var=$x!=$y;    // $x!=$y는 표현식입니다

리터럴 값뿐만 아니라 산술 연산, 함수 호출, 비교 연산의 결과까지 모두 하나의 표현식으로 평가되어 변수에 대입될 수 있습니다.

증가(++) 및 감소(--) 연산자를 사용한 표현식

++--는 각각 증가 연산자감소 연산자라고 부릅니다. 이들은 하나의 피연산자만 필요한 단항 연산자(unary operator)이며, 전위(prefix) 또는 후위(postfix) 방식으로 사용할 수 있습니다. 다만 어느 위치에 놓이느냐에 따라 표현식의 값에 미치는 영향이 달라집니다.

전위와 후위 모두 피연산자의 값을 1씩 증가(++) 또는 감소(--)시키지만, 대입 표현식에서 사용될 때 동작 순서가 다릅니다.

  • 전위(prefix): 먼저 값을 증가/감소시킨 뒤 대입이 이루어집니다.
  • 후위(postfix): 먼저 대입이 이루어진 뒤 값이 증가/감소됩니다.

후위(Postfix) 증가 연산자 예제

<?php
$x=10;
$y=$x++; // $y=$x 실행 후 $x=$x+1이 실행되는 것과 동일
echo "x = $x y = $y";
?>

실행 결과

x = 11 y = 10

후위 방식에서는 $y에 기존 값인 10이 먼저 대입된 후 $x가 11로 증가했기 때문에 결과가 위와 같습니다.

전위(Prefix) 증가 연산자 예제

반면 아래 예제는 대입 표현식에서 전위 증가 연산자를 사용한 경우입니다.

<?php
$x=10;
$y=++$x; // $x=$x+1 실행 후 $y=$x가 실행되는 것과 동일
echo "x = $x y = $y";
?>

실행 결과

x = 11 y = 11

전위 방식에서는 $x가 먼저 11로 증가한 뒤 $y에 대입되므로 두 변수 모두 11이 됩니다.

삼항 조건 연산자를 사용한 표현식

삼항 조건 연산자(ternary conditional operator)는 세 개의 피연산자를 가지는 연산자입니다. 첫 번째 피연산자는 논리 표현식이며, 그 결과가 TRUE이면 두 번째 표현식이 평가되고, FALSE이면 세 번째 표현식이 평가됩니다.

예제

<?php
$marks=60;
$result= $marks<50 ? "fail" : "pass";
echo $result;
?>

실행 결과

pass

위 예제에서 $marks가 60이므로 조건식 $marks<50은 거짓이 되고, 따라서 세 번째 표현식인 "pass"가 평가되어 출력됩니다. 삼항 연산자는 간단한 if-else 문을 한 줄로 대체할 수 있어 코드를 간결하게 만들 때 유용합니다.