source

PHP의 참조 할당 연산자 =&

factcode 2022. 12. 5. 21:14
반응형

PHP의 참조 할당 연산자 =&

「 」가 죠?=&는 PHP로 (equals-ampersand) PHP로 합니까?

폐지된 건가요?

그것은 폐지되지 않았고 그럴 것 같지 않다.예를 들어 기존 데이터를 복사하는 대신 어레이 또는 객체 미러 변경의 일부를 다른 어레이에 적용하는 것이 표준 방법입니다.

이를 참조별 할당이라고 합니다. 매뉴얼을 인용하면 "두 변수가 동일한 데이터를 가리키고 아무 데도 복사되지 않는 것을 의미합니다."

유일하게 추천되지 않는 것은=& 하다'는 ' 하다'의 입니다.newPHP 5의 참조에 의한"을 참조해 주세요. new의해서 에, 「 」는 「 」입니다.&/비권장성/비권장성$o = &new C; ,,, , ,, 단, 에, 에 , , ,.$o = &$c;.


해 주세요.=&(암페어샌드)는 다음과 같습니다.= &(스페이스 앰퍼샌드)와 같은 다른 변수에 도달하도록 쓰여집니다.$x = &$y['z']; ★★★★★★★★★★★★★★★★★」$x = &$someVar(앰퍼샌드 달러 기호 변수 이름).문서에서 간략화된 예:

$a = 3;
$b = &$a;
$a = 4;
print "$b"; // prints 4

다음은 PHP 매뉴얼의 참조별 할당에 대한 자세한 섹션 링크입니다.그 페이지는 참고 자료 시리즈의 일부입니다. 전체 시리즈를 읽는 데 시간을 할애할 가치가 있습니다.

서로 다른 연산자 두 명이에요. =아시겠지만 과제입니다. ★★★★★★★★★★★★★★★★★.&변수에 대한 접근은 값이 아닌 참조로 해야 함을 의미합니다.

$x = &$y['z'];

, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ다를 만드는 효과도 있습니다.$y['z']존재하지 않는 경우, 그리고 로 설정합니다.null.

이렇게 하면 읽으려고 했을 수 있는 오류 메시지가 방지됩니다.이에 대한 문서를 아직 찾지 못했습니다. 제가 아는 바로는 5.3에서 새 문서일 수 있습니다.

★★&는 PHP에서 "참조"가 있는 작업을 나타내기 위해 다양한 방식으로 사용됩니다.PHP 매뉴얼에는 모든 PHP 프로그래머가 읽어야 하는 참조 설명 섹션이 있습니다.

PHP의 참조는 포인터와 같은 데이터 타입이 아니라 변수의 동작에 관한 개념임을 이해하는 것이 중요합니다. 때문에 '아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아,& '참고를 안 요. - 그냥 '이죠. - '참고를 '라는 뜻이죠.

" " "는$a =& $b도 쓸 수 있다(글씨도 쓸 수 .$a = &$b는 참조에 의한 할당을 나타냅니다.두 변수가 모두 동일한 데이터를 가리키도록 결합합니다.생각해 보세요&「」의 =를 하는 것이 $b.

이러한 방식으로 두 변수를 결합하면 서로 교환할 수 있습니다. "$a points to $b" 또는 "$b points to $a"라고 말할 수 없습니다.

$a =& $b;
$a = 42;
// both $a and $b will be 42
$b = 101;
// both $a and $b will be 101

3개 이상의 변수를 참조로 링크할 수도 있습니다.또, 할당의 오른쪽에서 사용하고 있는 기존의 이름 중 어느 것을 사용하시는지는 상관없습니다.

$a =& $b;
$c =& $b;
$d =& $a;
$e =& $c;
// $a, $b, $c, $d, and $e now all point to the same data, interchangeably

단, 같은 변수를 왼쪽에 배치하면 해당 변수의 기존 링크가 끊어지고 다른 변수에 링크됩니다.

$a =& $b;
// $a and $b are linked together

$a =& $c;
// $a is now linked to $c
// the value of $b doesn't change, but it is not linked to $a or $c

새로운 링크를 작성하지 않고 링크를 절단하려면 다음 키워드를 사용합니다.

$a =& $b;
$c =& $a;
// $a, $b, and $c are all linked together
unset($a);
// $b and $c are still linked together, but $a is independent

은 '하다'를 .=&'이렇게 하다' 그 것 요.bind($a, $b)양쪽 인수가 조작의 영향을 받는 것을 강조 표시합니다.

"Assigning By Reference"의 의미와 코드 스타일에 주목하고 싶습니다.OP의 첫 문장은 잘못된 인식을 암시합니다.

PHP에서 = & (http-ampersand) 할당 연산자는 무엇을 합니까?

먼저 Assignment Operators에 대한 PHP Docs 페이지의 전용 섹션을 검토하겠습니다.어떻게 하면=&두 개의 상징이 분리되어 있다는 것을요.이는 이들이 "결합 연산자"가 아니기 때문이다.의미론적으로 이는 "참조 할당"이며 "참조 할당 연산자"가 아닙니다.

두 번째, 문서 페이지의 아래쪽에 모든 "결합 연산자"가 어떻게 표시되어 있는지 살펴봅니다.=는 항상 가장 오른쪽의 기호입니다.입니다.★★★★★★★★★★★★★★★★★★,&=의미를 변경합니다. 참조에 할당하는 대신 결합된 연산자("비트 및 할당 연산자")가 됩니다.

PSR 코딩 표준은 모든 PHP 개발자들이 알고 있고 준수하기 위해 노력하는 것이어야 합니다.PSR-12 섹션 6.2의 다음 규칙에 주의해 주십시오.

모든 이진 연산자, 비교, 할당, 비트 연산자, 논리 연산자, 문자열 연산자 및 형식 연산자는 하나 이상의 공백 뒤에 와야 합니다.

, '어울리다', '어울리다', '' 에는 항상 공백이 있어야 합니다.=operator operator -- "가 됩니다."=&위반 행위

에도 '나다'와 '나다' 사이에 는 안 .&변수/변수/함수 등입니다.

참조 연산자와 인수 전을 사용할 때는 인수 뒤에 공백이 없어야 합니다.


TL;DR

「참조를 기입해 .=에 은 쓰지 .&.

  • 량::$a =& $b;
  • ★★★★★★★★★★★★★★★★*$a = &$b;

일관성/최신 데모: https://riptutorial.com/php/example/11991/assign-by-reference

일관성/정확하게 입증되지 않음:

언급URL : https://stackoverflow.com/questions/1768343/reference-assignment-operator-in-php

반응형