PHP의 모호성 공개: 연결과 덧셈의 흥미로운 사례
PHP의 연산자 우선순위와 연관성은 덧셈과 연결 모두에서 예상치 못한 결과를 초래할 수 있습니다 운영자가 참여합니다. 다음 코드를 고려해보세요.
<code class="php">$a = 1; $b = 2; echo "sum: " . $a + $b; // Output: 2 echo "sum: " . ($a + $b); // Output: sum: 3</code>
왜 불일치합니까? 이는 모두 PHP의 연산자 평가 순서에 따라 결정됩니다.
더하기( ) 및 연결(.) 연산자 모두 우선 순위는 동일하지만 왼쪽 결합입니다. 즉, PHP는 우선 순위가 동일한 여러 연산자가 포함된 표현식을 발견하면 가장 왼쪽 연산자를 먼저 평가하고 오른쪽으로 작업합니다.
첫 번째 echo 문에서 연결 연산자(.)가 먼저 평가합니다. , 결과는 다음과 같습니다.
"sum: 1" + 2
문자열 "sum: 1"은 숫자 값(0)으로 변환되고 $b(2)에 추가되어 2의 출력이 생성됩니다.
두 번째 echo 문에서 괄호는 더하기 연산자가 먼저 평가하도록 강제합니다.
($a + $b) . "sum:"
그런 다음 결과는 "sum:" 문자열과 연결되어 원하는 "sum: 3" 출력을 생성합니다. ".
이 동작은 연산자 우선순위에 대한 PHP 문서에 설명되어 있습니다. "동일한 우선순위를 가진 연산자는 왼쪽에서 오른쪽으로 평가합니다. 즉, 먼저 ., 그 다음 -입니다."
위 내용은 PHP 연결 및 추가가 예상치 못한 결과를 초래하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!