>  기사  >  백엔드 개발  >  PHP의 표현식은 무엇입니까?

PHP의 표현식은 무엇입니까?

怪我咯
怪我咯원래의
2017-06-20 10:40:532145검색

Expressions은 PHP의 가장 중요한 초석입니다. PHP에서는 작성하는 거의 모든 것이 표현식입니다. 표현식을 정의하는 간단하지만 가장 정확한 방법은 "값이 있는 모든 것"입니다.

가장 기본적인 표현 형태는 상수와 변수입니다. "$a = 5"를 입력하면 값 "5"가 변수 $a에 할당됩니다. "5"는 당연히 5의 값을 갖습니다. 즉 "5"는 값 5를 갖는 표현식입니다(여기서 "5"는 정수 상수입니다).

할당 후 $a의 값은 5일 것으로 예상되므로 $b = $a라고 쓰면 $b = 5와 같을 것으로 예상됩니다. 즉, $a도 5로 평가되는 표현식입니다. 모든 것이 제대로 작동한다면, 바로 이런 일이 일어날 것입니다.

좀 더 복잡한 표현의 예로는 함수가 있습니다. 예를 들어, 다음 함수를 생각해 보세요:

<?php
function  foo  ()
{
    return  5 ;
}
?>

이미 함수 개념에 익숙하다고 가정하면(그렇지 않다면 함수 관련 장을 참조하세요) $c = foo()를 입력하는 것은 기본적으로 $를 쓰는 것과 같습니다. c = 5. 맞습니다. 함수도 표현식이며 표현식의 값은 반환 값입니다. foo()는 5를 반환하므로 "foo()" 표현식도 5로 평가됩니다. 종종 함수는 정적 값을 반환하는 것이 아니라 무언가를 계산할 수도 있습니다.

물론 PHP의 값은 정수가 아닌 경우가 많습니다. PHP는 정수 값(integer), 부동 소수점 값(float), stringvalue(문자열) 및 부울 값의 네 가지 스칼라 값 유형(스칼라 값은 배열과 같은 더 작은 단위로 분할할 수 없음)을 지원합니다. PHP는 배열과 객체라는 두 가지 복합 유형도 지원합니다. 두 유형 모두 변수에 할당되거나 함수에서 반환될 수 있습니다.

PHP는 다른 언어와 마찬가지로 표현 경로를 따라 발전하지만 그 이상입니다. PHP는 거의 모든 것이 표현식이라는 점에서 표현식 지향 언어입니다. 방금 공부한 예인 "$a = 5"를 생각해 보세요. 분명히 여기에 관련된 두 가지 값이 있습니다. 정수 상수 5의 값과 역시 5로 업데이트되는 변수 $a의 값입니다. 그러나 사실은 추가적인 가치, 즉 부가가치 명세서 자체의 가치가 관련되어 있다는 것입니다. 할당문 자체는 할당된 값인 5로 평가됩니다. 사실상 이는 "$a = 5"가 무엇을 하든 5로 평가되는 표현식임을 의미합니다. 따라서 " $b = ( $a = 5)"라고 쓰는 것은 " $a =5; $b =5"라고 쓰는 것과 같습니다(세미콜론은 문의 끝을 표시합니다). 할당 연산의 순서는 오른쪽에서 왼쪽이므로 "$b = $a =5"라고 쓸 수도 있습니다.

표현 중심의 또 다른 좋은 예는 앞뒤의 증가와 감소입니다. PHP 및 대부분의 다른 언어 사용자는 변수 ++ 및 변수 -- 기호에 익숙해야 합니다. 즉, 증가 및 감소 연산자 입니다. PHP/FI 2에서는 "$a++" 문에 값이 없으므로(표현식 아님) 여기에 값을 할당하거나 다른 방식으로 사용할 수 없습니다. PHP는 C 언어와 유사한 표현식으로 변환하여 증가/감소 기능을 향상시킵니다. PHP와 C 언어에는 사전 증가와 사후 증가라는 두 가지 유형의 증가가 있습니다. 기본적으로 사전 증가와 사후 증가는 모두 변수의 값을 증가시키며 변수에 동일한 영향을 미칩니다. 차이점은 표현식의 값이 증가한다는 것입니다. "++$variable"로 작성된 사전 증가는 증가 후의 값을 찾습니다(PHP는 변수 값을 읽기 전에 변수의 값을 증가시키므로 "사전 증가"라고 합니다). "$variable++"로 작성된 사후 증가는 변수가 증가되기 전의 원래 값을 찾습니다(PHP는 변수의 값을 읽은 후 변수의 값을 증가시키므로 이를 "사후 증가"라고 합니다).

일반적으로 사용되는 표현식 유형은 비교 표현식입니다. 이러한 표현식은 FALSE 또는 TRUE로 평가됩니다. PHP는 >(보다 큼), >=(크거나 같음), ==(같음), !=(같지 않음), <(보다 작음), <=(작거나 같음)을 지원합니다. 에게). PHP는 항등 연산자 ===(동일한 값 및 유형) 및 비식별 연산자 !==(다른 값 또는 유형)도 지원합니다. 이러한 표현식은 if 문과 같은 조건부 판단문에서 가장 일반적으로 사용됩니다.

这里,将要研究的最后一个例子是组合的运算赋值表达式。已经知道如果想要为变量 $a 加1,可以简单的写“$a++”或者“++$a”。但是如果想为变量增加大于 1 的值,比如 3,该怎么做?可以多次写“$a++”,但这样明显不是一种高效舒适的方法,一个更加通用的做法是“$a = $a + 3”。“$a + 3”计算 $a 加上 3 的值,并且得到的值重新赋予变量 $a,于是 $a 的值增加了3。在 PHP 及其它几种类似 C 的语言中,可以以一种更加简短的形式完成上述功能,因而也更加清楚快捷。为 $a 的当前值加 3,可以这样写:“$a += 3”。这里的意思是“取变量 $a 的值,加 3,得到的结果再次分配给变量 $a”。除了更简略和清楚外,也可以更快的运行。“$a += 3”的值,如同一个正常赋值操作的值,是赋值后的值。注意它不是 3,而是 $a 的值加上3 之后的值(此值将被赋给 $a)。任何二元运算符都可以用运算赋值模式,例如“$a -= 5”(从变量 $a 的值中减去 5),“$b *= 7”(变量 $b 乘以 7),等等。

还有一个表达式,如果没有在别的语言中看到过的话,可能看上去很奇怪,即三元条件运算符:

$first ? $second : $third

如果第一个子表达式的值是 TRUE (非零),那么计算第二个子表达式的值,其值即为整个表达式的值。否则,将是第三个子表达式的值。

下面的例子一般来说应该有助于理解前、后递增和表达式:

<?php
function  double ( $i )
{
    return  $i * 2 ;
}
$b  =  $a  =  5 ;         
$c  =  $a ++;           
$e  =  $d  = ++ $b ;      



$f  =  double ( $d ++);   
$g  =  double (++ $e );   
$h  =  $g  +=  10 ;       
?>

一些表达式可以被当成语句。这时,一条语句的形式是 'expr' ';',即一个表达式加一个分号结尾。在“$b=$a=5;”中,$a=5 是一个有效的表达式,但它本身不是一条语句。“$b=$a=5;”是一条有效的语句。

最后一件值得提起的事情就是表达式的真值。在许多事件中,大体上主要是在条件执行和循环中,不要专注于表达式中明确的值,反而要注意表达式的值是否是 TRUE 或者 FALSE 。常量 TRUE 和 FALSE (大小写无关)是两种可能的 Boolean 值。如果有必要,一个表达式将自动转换为 Boolean。参见类型强制转换一节。

PHP 提供了一套完整强大的表达式,而为它提供完整的文件资料已经超出了本手册的范围。上面的例子应该为你提供了一个好的关于什么是表达式和怎样构建一个有用的表达式的概念。在本手册的其余部分,我们将始终使用expr 来表示一个有效的 PHP 表达式。

위 내용은 PHP의 표현식은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.