>  기사  >  백엔드 개발  >  PHP 연결 및 추가가 예상치 못한 결과를 초래하는 이유는 무엇입니까?

PHP 연결 및 추가가 예상치 못한 결과를 초래하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-31 10:50:29385검색

Why Does PHP Concatenation and Addition Lead to Unexpected Results?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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