>  기사  >  백엔드 개발  >  PHP 할당 연산자

PHP 할당 연산자

伊谢尔伦
伊谢尔伦원래의
2016-11-24 13:35:221503검색

기본 할당 연산자는 "="입니다. 처음에는 "같음"이라고 생각할 수도 있지만 그렇지 않습니다. 이는 실제로 오른쪽 표현식의 값을 왼쪽 피연산자에 할당하는 것을 의미합니다.

대입연산식의 값은 할당된 값입니다. 즉, "$a = 3"의 값은 3입니다. 이 방법으로 몇 가지 트릭을 수행할 수 있습니다.

<?php
$a = ($b = 4) + 5; // $a 现在成了 9,而 $b 成了 4。
?>

배열의 경우 "=>" 연산자를 사용하여 명명된 키에 값을 할당합니다. 이 연산자는 다른 할당 연산자와 우선순위가 동일합니다.

기본 할당 연산자 외에도 모든 이진 산술, 배열 집합 및 문자열 연산자에 적합한 "결합 연산자"가 있는데, 이를 통해 해당 값을 표현식에 사용하고 결합할 수 있습니다. 표현식의 결과는 다음과 같습니다. 예:

<?php
$a = 3;
$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";
?>

할당 작업은 원래 변수의 값을 새 변수에 복사하므로(값별 할당) 하나를 변경해도 다른 변수에는 영향을 미치지 않습니다. 이는 조밀한 루프의 큰 배열과 같은 일부 값을 복사하는 데에도 적합합니다.

PHP의 일반적인 값별 할당 동작에는 예외가 있습니다. 객체를 발견하면 복사를 위해 clone 키워드를 명시적으로 사용하지 않는 한 PHP 5에서는 참조로 할당됩니다.

참조 할당

PHP는 "$var = &$othervar;" 구문을 사용하여 참조 할당을 지원합니다. 참조에 의한 할당은 두 변수가 모두 동일한 데이터를 가리키고 아무것도 복사되지 않음을 의미합니다.

예제 #1 참조 할당

<?php
$a = 3;
$b = &$a; // $b 是 $a 的引用
print "$a\n"; // 输出 3
print "$b\n"; // 输出 3
$a = 4; // 修改 $a
print "$a\n"; // 输出 4
print "$b\n"; // 也输出 4,因为 $b 是 $a 的引用,因此也被改变
?>

PHP 5부터 new 연산자는 자동으로 참조를 반환하므로 new 결과에 대한 참조 할당은 PHP 5.3 이상 버전에서 작동하지 않습니다. E_DEPRECATED 오류 메시지를 발행합니다. 이전 버전에서는 E_STRICT 오류 메시지가 발행되었습니다.

예를 들어 다음 코드는 경고를 생성합니다.

<?php
class C {}
/* The following line generates the following error message:
* Deprecated: Assigning the return value of new by reference is deprecated in...
*/
$o = &new C;
?>


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