>  기사  >  백엔드 개발  >  PHP 연산자 우선 순위에 대한 자세한 설명

PHP 연산자 우선 순위에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-04-19 16:37:115185검색

앞서 PHP 논리 연산자에 대해 이야기했을 때 PHP 연산자의 우선 순위에 대해 언급했습니다. 소위 연산자 우선 순위는 표현식에서 어떤 연산자가 먼저 계산되고 어떤 연산자가 나중에 계산되는지를 나타냅니다. 표현식 1 + 5 * 3

은 곱하기 기호("*")가 더하기 기호("+")보다 우선순위가 높기 때문에 18이 아닌 16입니다. 필요한 경우 괄호를 사용하여 우선순위를 강제로 변경할 수 있습니다. 예를 들어 (1 + 5) * 3의 값은 18입니다.

PHP 연산자가 작업에서 따르는 규칙은 우선 순위가 높은 작업이 먼저 실행되고 우선 순위가 낮은 작업이 나중에 실행되는 것입니다. 우선 순위가 같으면 왼쪽에서 오른쪽으로 순서대로 실행됩니다. , 예를 들어 "-"가 왼쪽 연결이면 1 - 2 - 3은 (1 -

2) - 3과 동일하며 결과는 -4입니다. 오른쪽 링크이므로 $a = $b = $c는 $a = ($b = $c)와 동일합니다.

PHP 연산자 우선 순위에 대한 자세한 설명괄호 안의 연산자가 먼저 실행됩니다. 꼭 필요하지 않더라도 연산자 우선순위와 연관성에 의존하기보다는 대괄호 쌍을 통해 작업 순서를 명확하게 나타냅니다. . 결정하려면 코드의 가독성을 향상시킬 수 있습니다.

테이블에는 우선순위가 높은 것부터 낮은 것 순으로 연산자가 나열되어 있습니다. 같은 줄에 있는 연산자는 우선순위가 동일하며, 결합되는 방향에 따라 평가 순서가 결정됩니다.

结合方向 运算符 附加信息
clone new clone和new
[ array()
** 算术运算符
++            --            ~            (int)            (float)            (string)            (array)            (object)            (bool)            @ 类型和递增/递减
instanceof 类型
! 逻辑运算符
*            /            % 算术运算符
+            -            . 算术运算符和字符串运算符
           >> 位运算符
                       >            >= 比较运算符
==            !=            ===            !==                         比较运算符
& 位运算符和引用
^ 位运算符
| 位运算符
&& 逻辑运算符
|| 逻辑运算符
?? 比较运算符
? : 三元运算符
=            +=            -=            *=            **=            /=            .=            %=            &=            |=            ^=                        >>= 赋值运算符
and 逻辑运算符
xor 逻辑运算符
or 逻辑运算符

원하는 경우 너무 많은 우선순위 수준을 명확하게 기억하는 것은 비현실적이며 불필요합니다. 작성하는 표현식이 매우 복잡하고 많은 연산을 포함하는 경우 대괄호를 사용하지 마십시오. 다음 :

<?php
$a and (($b !=$c) or (5*(50-$d)));
?>

논리적 오류 가능성을 줄일 수 있습니다

때때로 대괄호를 사용하면 코드 가독성이 향상될 수 있습니다. 예를 들면 다음과 같습니다.

<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4

//三元运行的结合
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5


?>


위 내용은 PHP 연산자 우선 순위에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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