> 백엔드 개발 > PHP 튜토리얼 > PHP 심층 학습 변수 참조 카운팅

PHP 심층 학습 변수 참조 카운팅

WBOY
풀어 주다: 2016-08-10 08:48:35
원래의
1025명이 탐색했습니다.

PHP 변수의 참조 횟수는 어떻게 되나요? 먼저, PHP 변수의 기본 구조를 살펴보겠습니다.

<code>typedef <span>struct</span> _zval_struct zval;
<span>struct</span> _zval_struct {
    zvalue_value <span>value</span>;     <span>//存放value</span>
    zend_uint refcount__gc;     <span>//引用计数</span>
    zend_uchar type;     <span>//判断类型</span>
    zend_uchar is_ref__gc;     <span>//是否被引用</span>
};
</code>
로그인 후 복사

PHP 프로그램에서 변수를 선언하면 zend 엔진은 4개의 멤버 변수가 있는 zval 구조를 인스턴스화합니다. 그 중 type은 이 변수가 어떤 유형인지 결정하는 데 사용되며 value는 실제 데이터를 저장하는 데 사용됩니다. 실제로 value도 구조이므로 여기서는 자세히 설명하지 않겠습니다. 오늘은 refcount_gc와 is_ref_gc 두 필드의 사용에 중점을 둘 것입니다. 다음과 같은 코드가 있다고 가정해 보겠습니다.

<code><span>$a</span> = <span>123</span>;
<span>$b</span> = <span>$a</span>;
</code>
로그인 후 복사

단순한 int 유형 변수로 인해 PHP는 위와 같은 경우 실제로 그리고

저작권 표시: 본 글은 해당 블로거의 원문임을 명시해주세요. 재인쇄시 출처.

위 내용은 내용의 측면을 포함하여 PHP 심층 학습에서 변수의 참조 카운팅을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿